Configura Logo

Performance and Stability Standards

Purpose

This document outlines the performance and stability standards that all extensions must meet to ensure an optimal user experience across the Configura ecosystem. These standards protect the CET user base by establishing clear expectations for extension quality.

Version and Updates

Current Version: 2.0
Last Updated: February 2025
Next Review: August 2025

Note: These standards are regularly reviewed and updated to reflect evolving technology and user expectations. Extension owners will be notified of any changes at least 90 days before implementation.

Stability Requirements

General Stability

All extensions must demonstrate robust stability with minimal crashes or errors. Extensions should be thoroughly tested across a variety of scenarios before submission.

Crash Prevention

Requirement Description Verification Method
Error Handling Implement appropriate error handling throughout the extension Code review, test scenarios
Exception Management Properly catch and manage exceptions Code review, crash testing
Load State Verification Verify object state before operations Code review, load testing

Bug Management

Extension owners must actively monitor and address bug reports. All reported issues will be tracked through the Jira system as outlined in the Basic Support Policy.

Response Time Expectations:

Save and Load Reliability

Drawing Compatibility

Requirement Description Impact of Non-Compliance
Version Compatibility Support opening drawings from at least the last 4 major CET versions User inability to open existing drawings
Data Integrity Maintain all product data when saving and loading Data loss or corruption
Legacy Support Implement proper load code for backward compatibility Crashes when opening older drawings

Testing Recommendation: Maintain a library of test drawings from previous versions to verify compatibility with each update.

Patch Installation

Extensions must ensure patch installation succeeds consistently. Persistent installation failures can result in extension deactivation.

Common Causes of Installation Failures:

Performance Requirements

Extension Performance Categories

Extensions are classified into three categories based on complexity and scope:

Category Description Examples
Small Limited feature set, simple products Basic furniture, simple components
Medium Moderate complexity, standard feature set Standard office systems, kitchen components
Large Complex systems, extensive feature set Complete building systems, complex design tools

Startup Performance

Category Maximum Startup Time Testing Environment
Small < 3.8 seconds Standard benchmark system*
Medium < 5.3 seconds Standard benchmark system*
Large < 7.5 seconds Standard benchmark system*

*Standard benchmark system specifications are available in the hardware specifications.

Measurement Methodology: Startup time is measured from the moment the extension begins loading until it is fully functional. Measurements are taken as an average of 5 cold starts on the standard benchmark system.

Drawing Load Performance

Category Maximum Load Time (Standard Test Drawing)
Small < 6.0 seconds
Medium < 15.0 seconds
Large < 2 minutes 30 seconds

Standard Test Drawing Definition:

Hook Implementation

Hooks are injection points that allow custom code execution during CET operations. Improper implementation can severely impact performance.

Hook Type Performance Requirement Best Practice
Part Hooks Extremely fast (<10ms) Minimal operations, caching where possible
Drawing Load Efficient (<500ms) Defer non-critical operations
Start Optimized (<250ms) Initialize only what’s immediately needed
Selection Extremely fast (<5ms) Use lightweight calculations only

Testing Tool: Use the CM code profiler to measure hook execution time.

Task System Usage

The CET task system must be used responsibly to prevent performance degradation.

Guidelines:

Snapper Implementation

Local Bound Optimization

Local bound calculations must be cached to improve performance, as this information is frequently requested by the system.

Implementation:

public box localBound() {
    if (cached_bound is valid)
        return cached_bound;

    // Calculate bound
    // Store in cached_bound
    return calculated_bound;
}

Graphics Caching

Graphics Type Caching Requirement Verification Method
3D Graphics Must be cached using CM caching mechanisms Performance profiling, code review
2D Graphics Should be optimized for common scenarios Visual performance testing

Property Definitions

PropDef keys should be concise to minimize CPU operations:

Recommendation Example
Good “w”, “h”, “d”
Acceptable “width”, “height”, “depth”
Poor “product_width”, “product_height_value”

Model Performance Standards

Triangle Budget by Detail Level

Detail Level Minimum Maximum (Upper Safety Bound) Maximum Triangles/m²
Low 100 500 50
Medium 100 2,000 200
High 100 10,000 1,000
Super 100 50,000 5,000

Triangle Budget Calculation:

SUGGESTED_TRIANGLE_COUNT = MODEL_TRIANGLE_AREA * MAX_ALLOWED_DENSITY
If SUGGESTED_TRIANGLE_COUNT > MAX_UPPER_LIMIT then use MAX_UPPER_LIMIT

Blocking Criteria

Models will be blocked from upload if any level of detail exceeds:

100 * SUGGESTED_TRIANGLE_COUNT

Tools and Resources

To optimize models that exceed budget:

  1. Model batch converter
  2. Recommended model workflow
  3. Common model problems

Data Catalog Performance

Structure Optimization

Optimize data catalog structures to prevent performance issues:

Recommendation Description Impact
Avoid repetitive features Consolidate similar features Reduces loading time
Limit feature nesting Keep structure hierarchy shallow Improves navigation
Optimize XML Minimize unnecessary attributes Reduces memory usage

Material Implementation

Complete material mapping must be implemented for all products to ensure:

Compliance and Enforcement

Monitoring

Configura will monitor extension performance through:

Non-Compliance

Failure to meet these standards may result in:

  1. Notification of issues with required remediation timeline
  2. Conditional approval with required improvements
  3. Rejection of extension updates
  4. Temporary uninstallation for severe issues
  5. Extension deactivation as a last resort

Improvement Support

Configura offers support for extensions struggling to meet performance standards:

Appendix: Testing Methodology

Hardware Specifications

Performance testing is conducted on standard hardware configurations representing common user setups:

Standard Test System:

Measurement Tools

Test Cases

Standardized test cases are available for extension owners to validate their extensions against these performance criteria. Contact extension-review@configura.com to request the current test suite.


Document Version: 2.0
Last Updated: February 28, 2025
Next Review: August 28, 2025
Configura Publishing Program
© 2025 Configura, Inc. All rights reserved.