Graphics Processor Tile List Sorting for Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessing complexityVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If the system prepares detailed tile lists for all primitives, then rendering accuracy is improved, but memory usage increases significantly

Engineering Contradiction:
Improverendering accuracyVSAvoidmemory usage
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the system processes all graphics data at full detail, then rendering quality is maintained, but processing time increases

Engineering Contradiction:
Improverendering qualityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9965886B2Method of and apparatus for processing graphics
Publication Date: 2018.05.08 ARM NORWAY
  • US9965886B2 patent drawing
  • US9965886B2 patent drawing
  • US9965886B2 patent drawing

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.