Graphics Processor Tile List Sorting for Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing tile-based graphics processing systems are inefficient in managing memory usage and processing resources, particularly in constrained devices, as they primarily focus on sorting and rendering basic primitives, neglecting the potential benefits of sorting higher-level graphics descriptors.
Innovation Solution
The system sorts and includes higher-level graphics descriptors, such as draw calls and procedural representations, into tile lists, allowing for more efficient memory management and reduced processing intensity, enabling coarser initial sorting and culling operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the system sorts only basic primitives into tile lists, then the processing complexity for individual primitives is reduced, but the overall memory usage and processing efficiency deteriorate due to lack of higher-level optimization
Solution Approach 1:
The patent segments graphics data into two hierarchical levels: higher-level graphics descriptors (such as draw calls) and lower-level primitives. The sorting apparatus separately sorts these two levels into tile lists, allowing coarse-grained culling at the descriptor level and fine-grained rendering at the primitive level. This segmentation resolves the contradiction by reducing overall processing complexity through hierarchical organization while improving productivity through multi-level optimization.
Solution Approach 2:
The patent performs preliminary sorting of higher-level graphics descriptors into tile lists before processing individual primitives. This preliminary action enables early culling of entire groups of primitives that fall outside visible tiles, reducing the workload for subsequent rendering stages. By performing this preliminary organization, the system improves processing efficiency without significantly increasing the complexity of individual primitive processing.
2Manufacturing precision
If the system prepares detailed tile lists for all primitives, then rendering accuracy is improved, but memory usage increases significantly
Solution Approach 1:
The patent segments the tile list data structure into two hierarchical levels: a first tile list containing higher-level graphics descriptors and a second tile list containing individual primitives. This segmentation allows the system to maintain rendering accuracy by preserving detailed primitive information where needed while reducing memory usage by organizing data hierarchically and enabling selective processing. The segmented structure allows efficient memory management through level-based culling strategies.
Solution Approach 2:
The patent extracts higher-level graphics descriptors from the complete primitive data and sorts them separately into a first tile list. This extraction allows the system to work with a simplified representation at the descriptor level for initial culling and organization, reducing the immediate memory burden of storing and processing all detailed primitive information simultaneously. The detailed primitive data is retained in the second tile list for subsequent rendering stages where it is actually needed.
3Reliability
If the system processes all graphics data at full detail, then rendering quality is maintained, but processing time increases
Solution Approach 1:
The patent performs preliminary sorting of higher-level graphics descriptors into tile lists before processing individual primitives. This preliminary action enables early culling of entire groups of primitives that fall outside visible tiles, reducing the workload for subsequent rendering stages. By performing this preliminary organization, the system maintains rendering quality for visible elements while significantly reducing processing time through hierarchical optimization.
Solution Approach 2:
The patent segments graphics processing into two hierarchical levels: higher-level descriptor processing and lower-level primitive processing. This segmentation allows the system to perform coarse-grained culling and optimization at the descriptor level, reducing the number of primitives that require detailed processing. The segmentation maintains rendering quality for visible elements while reducing overall processing time through multi-level optimization.
Data Source
AI summary
A graphics processor includes a graphics object list building unit that determines the location of each draw call in a scene to be rendered and generates a list of draw calls for each sub-region (tile) that the scene to be rendered is divided into. The draw call lists are stored in a memory. A graphics object selection unit of a renderer of the graphics processor then determines which draw call is to be rendered next by considering the draw call list stored in the memory for the sub-region (tile) of the scene that is currently being rendered.


