Object Tree Update Traversal for Multiprocessor Graphics Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current multiprocessor systems face inefficiencies in graphics rendering due to the need for 'on the fly' data conversion when using specialized processing units like GPUs, which can slow down the rendering process.
Innovation Solution
The creation of optimized object trees and graphics rendering trees, where data is converted to formats that maximize GPU efficiency, and the use of 'dirty' bits to propagate changes efficiently through an update traversal process, ensuring that only necessary commands are executed to synchronize changes between the object tree and graphics rendering tree.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is converted on the fly during graphics rendering, then the system can maintain flexibility in data formats, but the rendering speed decreases due to conversion overhead
Solution Approach 1:
The patent applies preliminary action by converting data to GPU-optimized formats in advance during object tree creation, rather than converting during rendering. The CPU creates an object tree with data in formats optimized for GPU processing, eliminating the need for on-the-fly conversions and thereby improving rendering speed while reducing conversion overhead.
2Reliability
If all objects in the object tree are updated during traversal, then data consistency is maintained, but processing time increases due to unnecessary updates
Solution Approach 1:
The patent applies local quality by using dirty bits to identify only those specific objects within the object tree that have actually changed. During update traversal, the system checks dirty bits and processes only the local subset of modified objects rather than updating all objects uniformly, thereby maintaining data consistency for changed objects while reducing unnecessary processing time for unchanged objects.
3Ease of operation
If data is stored in CPU-optimized formats, then ease of manipulation is improved, but GPU processing efficiency decreases
Solution Approach 1:
The patent resolves this contradiction by performing preliminary data format conversion during object tree creation. The CPU creates objects in easily manipulable formats, then converts them to GPU-optimized formats and stores them in the object tree. This preliminary action allows the CPU to work with flexible data structures while the GPU receives data in formats optimized for its architecture, thereby improving GPU processing efficiency without sacrificing CPU-side ease of operation.
Data Source
AI summary
A system may include a processor and memory that stores instructions to cause the processor to create a first set of objects in a first structure based on first data, where the first set of objects describes a graphical scene specified by the first data. The processor may add a command for at least one object, of the first set of objects, to a composite command that includes commands for the graphical scene and create a second set of objects in a second structure based on the first set of objects in the first structure and the composite command. The processor may receive second data, change one or more objects of the first set of objects based on the second data, and change one or more objects of the second set of objects based on the changes to the one or more objects of the first set of objects. The processor may further provide the changed second set of objects to a browser for rendering a new graphical scene.


