zooui.objects.scene.sceneutils.parallel module¶
SceneParallelRenderer class for parallel rendering operations.
This class encapsulates all parallel rendering functionality that was previously part of the Scene class, providing better separation of concerns.
- class zooui.objects.scene.sceneutils.parallel.SceneParallelRenderer(scene, config=None)[source]¶
Bases:
objectManages parallel rendering operations for a Scene.
This class encapsulates all parallel rendering functionality that was previously part of the Scene class, providing better separation of concerns.
- _scene¶
Reference to parent Scene
- _config¶
Parallel rendering configuration
- _enabled¶
Whether parallel rendering is enabled
- _layout_calculator¶
Parallel layout calculator instance
- _priority_batcher¶
Priority batcher for text objects
- _last_viewport_center¶
Last known viewport center
- _last_viewport_rect¶
Last known viewport rectangle
- _stats¶
Parallel rendering statistics
- _logger¶
Logger instance
Initialize the SceneParallelRenderer.
- Parameters:
scene – Reference to parent Scene
config – Configuration dictionary (may contain ‘parallel_rendering’ key)
- is_enabled()[source]¶
Check if parallel rendering is enabled.
- Returns:
True if parallel rendering is enabled, False otherwise
- _get_text_objects()[source]¶
Get all StringMediaObjects in the scene.
- Returns:
List of StringMediaObject instances
- precalculate_text_layouts()[source]¶
Pre-calculate text layouts for parallel rendering.
This method should be called before rendering when the scene is moving to prepare layout data for parallel rendering.
- _on_layout_calculation_complete(index, result)[source]¶
Callback for when layout calculation completes.
- Parameters:
index – Object index
result – CalculationResult
- render_text(painter)[source]¶
Render text objects using parallel rendering.
- Parameters:
painter – QPainter object to render with
- Returns:
True if parallel rendering was used, False otherwise
- enable(enabled=True)[source]¶
Enable or disable parallel rendering.
- Parameters:
enabled – Whether to enable parallel rendering
- shutdown()[source]¶
Shut down parallel rendering and release resources.
Stops the layout calculator and clears the priority batcher. Safe to call multiple times.
See Also¶
zooui/objects/scene/scene - Scene management
zooui/objects/scene/sceneutils/prioritybatcher - Priority-based object batching
zooui/objects/mediaobjects/mediaobjectsutils/string/parallellayout - Parallel text layout calculation