Hierarchical Tiling for Graphics Rendering Control List Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Tile-based graphics processing systems face inefficiencies due to the large number of control lists required for rendering, leading to increased memory write bandwidth and memory footprint, especially when dealing with large primitives that cover many tiles.

Innovation Solution

The system introduces hierarchical tiling by subdividing the rendering space into multiple levels of regions, allowing primitives to be added to control lists based on their spatial coverage. Large primitives that cover a significant portion of a macro tile are added to the macro tile control list, reducing the need for repeated data in tile control lists.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional tile-based rendering is used where each tile has its own control list, then rendering coverage is maintained, but memory write bandwidth and memory footprint increase significantly due to data redundancy

Engineering Contradiction:
Improvememory footprintVSAvoidrendering coverage
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The rendering space is segmented into macro-tiles, with each macro-tile having a single control list that covers multiple underlying tiles. This segmentation reduces the number of control lists from one per tile to one per macro-tile, significantly reducing memory footprint while maintaining rendering coverage through the hierarchical structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple tile control lists are merged into a single macro-tile control list. The control list contains primitive entries that are valid across multiple tiles within the macro-tile, eliminating data redundancy. When a primitive covers multiple tiles, its control data is stored once in the macro-tile control list rather than being repeated in each individual tile control list.

Inventive Principle:
Principle #5Merging (Combining)

2Quantity of substance

If control lists are optimized to reduce memory footprint, then memory bandwidth is reduced, but processing complexity increases due to hierarchical structure

Engineering Contradiction:
Improvecontrol list dataVSAvoidprocessing structure
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

A hierarchical dimension is introduced with macro-tiles at the upper level and individual tiles at the lower level. The control lists operate at the macro-tile level, adding a new organizational dimension that reduces data redundancy without significantly increasing processing complexity, as the hierarchy naturally maps to the existing tile-based rendering pipeline.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The macro-tile control list serves multiple functions: it acts as a unified control list for all tiles within the macro-tile, reduces memory bandwidth requirements, and maintains compatibility with existing tile-based rendering operations. This multi-functionality achieves optimization without proportionally increasing processing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If large primitives are added to every tile control list they cover, then rendering accuracy is maintained, but memory write bandwidth increases due to repeated data

Engineering Contradiction:
Improverendering accuracyVSAvoidmemory write bandwidth
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The redundant control data for large primitives is extracted from individual tile control lists and consolidated into the macro-tile control list. Each primitive's control data is stored once at the macro-tile level, eliminating repeated writes to multiple tile control lists while maintaining rendering accuracy through the hierarchical validation process.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The control list is constructed at the macro-tile level before individual tile rendering begins. Large primitives are identified and added to the macro-tile control list in advance, with their coverage information pre-calculated. This preliminary action prevents the need to repeatedly write primitive data to each tile control list during the rendering process, reducing memory bandwidth usage.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3862977B1Graphics processing method and system for rendering items of geometry based on their size
Publication Date: 2025.04.30 IMAGINATION TECH LTD
  • EP3862977B1 patent drawingFigure 1
  • EP3862977B1 patent drawingFigure 2
  • EP3862977B1 patent drawingFigure 3

AI summary

Methods and graphics processing systems are provided which render primitives using a rendering space which is subdivided into a plurality of regions. Geometry processing logic is configured to perform a geometry processing phase which comprises: determining, for each of a plurality of primitives which are present in a region, whether the primitive totally covers the region; and storing data for the primitives which are present in the region, wherein the stored data comprises, for each of the primitives which are determined to totally cover the region, data to indicate total coverage of the region. Rendering logic is configured to perform a rendering phase for rendering primitives within the region. The rendering phase comprises: retrieving the stored data for the primitives which are present in the region; selectively processing the primitives which are present in the region based on the retrieved data to determine which sample points within the region are covered by the primitives, wherein if the retrieved data includes data which indicates total coverage of the region for a particular primitive then said processing to determine which sample points within the region are covered by the particular primitive is skipped; and determining rendered values at the sample points within the region based on the primitives which cover the respective sample points.