Hierarchical Tile Display Lists for Lower 3D Rendering Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Tile based rendering systems in 3D computer graphics face significant memory bandwidth issues due to the large amount of control data required for triangles that cover multiple tiles, which affects performance.
Innovation Solution
Implementing a multi-level display control list structure that groups tiles into progressively larger sets, reducing the need for repeated control data by sharing lists among groups of tiles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tile based rendering is used to improve rendering performance and reduce memory bandwidth, then rendering efficiency is improved, but control data volume increases significantly for large triangles covering multiple tiles
Solution Approach 1:
The patent divides the rendering system into multiple levels: screen space is segmented into tiles, tiles are grouped into tile blocks, and tile blocks are organized into display control list levels. This hierarchical segmentation allows control data to be shared across multiple tiles at the same level, reducing redundant data transmission while maintaining tile-based rendering performance benefits.
Solution Approach 2:
The patent introduces a new dimensional organization by creating a hierarchical structure with multiple levels (individual tiles, tile blocks, and display control lists). Instead of treating all tiles as independent units, the system adds an organizational dimension that groups tiles together, allowing control data to be defined once at higher levels and automatically applied to multiple lower-level tiles, thus reducing overall control data volume.
2Reliability
If control data is written for every tile covered by a triangle, then rendering accuracy is maintained, but memory bandwidth consumption increases
Solution Approach 1:
The patent merges adjacent tiles into tile blocks and organizes them into display control lists at multiple hierarchical levels. Control data for primitives is written once at the appropriate level (tile, tile block, or display control list level) and then shared across all tiles within that group. This merging approach maintains rendering accuracy by ensuring all relevant tiles receive the necessary control data while dramatically reducing memory bandwidth consumption by eliminating redundant data writes.
3Quantity of substance
If hierarchical display control lists are implemented to reduce control data, then memory bandwidth is reduced, but system complexity increases
Solution Approach 1:
The patent implements a dynamic hierarchical system where the level at which control data is written is determined by the spatial extent of primitives. Small primitives use tile-level control lists, medium-sized primitives use tile block-level control lists, and large primitives use display control list level. This dynamic adaptation allows the system to automatically select the most efficient control data organization level, reducing overall complexity while maintaining data reduction benefits.
Solution Approach 2:
The patent introduces tile blocks as intermediary structures between individual tiles and full display control lists. These tile blocks serve as intermediate grouping units that can share control data across multiple tiles without requiring full display control list hierarchy. This intermediary approach simplifies the overall system structure by providing a middle-ground organization level, reducing the complexity burden of the full hierarchical system while maintaining significant control data reduction.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
A method and apparatus are provided for rendering a 3 dimensional computer graphics image. The image is divided into plurality of rectangular tiles which are arranged in a multi level structure comprising a plurality of levels of progressively larger groupings of tiles. Image data is divided into a plurality of primitive blocks and these are assigned to groupings of tiles within the multi level structure in dependence on the groupings each one intersects. Control stream data is derived for rendering the image and this comprises references to primitive blocks for each grouping of tiles within each level of the multi level structure, the references corresponding to the primitive blocks assigned to each grouping and control stream data is used to render the primitive data into tiles within the groupings of tiles for display. This is done such that for primitive blocks which intersect a plurality of tiles within a grouping, control stream data is written for the grouping of tiles rather than for each tile within the grouping.