Hierarchical Tile List Memory Management for Graphics Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing tile-based rendering systems face challenges in predicting memory usage due to varying sizes of tile lists across different tiles and scenes, which is particularly problematic for resource-constrained devices like mobile phones and PDAs.

Innovation Solution

The system allows for the preparation of separate tile lists for individual sub-regions and sets of sub-regions, enabling flexible memory management and control by storing primitives at different resolutions, ensuring that each primitive is included in a limited number of lists to optimize memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If separate tile lists are prepared for each sub-region to enable precise primitive selection, then rendering accuracy is improved, but memory usage increases due to duplicate primitives being stored multiple times

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

Solution Approach 1:

The patent segments the scene into multiple sub-regions (tiles) and prepares separate tile lists for each sub-region. This allows primitives to be selected precisely for their actual location in each tile, improving rendering accuracy. The segmentation is implemented by dividing the scene into a grid of sub-regions and creating independent primitive lists for each, enabling efficient spatial culling and reducing unnecessary processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a hierarchical tile list structure where tile lists are organized at multiple levels. Each tile contains a pointer to a parent tile list, creating a nested hierarchy. This nesting allows the system to store primitive lists at different levels of granularity, enabling precise primitive selection for individual tiles while sharing common primitives across parent tiles, thus reducing overall memory usage through hierarchical reuse.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Reliability

If tile lists are prepared for all sub-regions to ensure complete rendering coverage, then rendering completeness is improved, but device complexity increases due to memory management challenges

Engineering Contradiction:
Improverendering completenessVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent prepares tile lists in advance before rendering begins. By pre-computing which primitives belong to which tiles and storing them in the hierarchical structure, the system ensures complete rendering coverage is ready beforehand. This preliminary action eliminates the need for complex runtime memory management decisions, as the tile lists are already organized and ready for efficient rendering processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a hierarchical tile list structure as an intermediary between the scene primitives and the rendering process. This intermediary structure organizes primitives by spatial location in a managed way, providing complete coverage while simplifying memory management. The hierarchical structure acts as a mediator that translates the complexity of complete scene coverage into a manageable pointer-based system where each tile lists only its relevant primitives.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If primitives are stored in multiple tile lists to ensure they are rendered in all correct sub-regions, then rendering accuracy is improved, but memory requirements increase

Engineering Contradiction:
Improveprimitive placement accuracyVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent uses a nested hierarchical structure where primitives are stored in multiple tile lists at different levels. Each primitive is included in tile lists for all tiles it actually appears in, with parent tile lists containing the same primitive. This nesting pattern ensures rendering accuracy by maintaining primitive placement information at all relevant levels, while the hierarchical organization enables efficient memory management through shared data structures.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent adds a hierarchical dimension to the traditional flat tile list structure. Instead of just storing primitives in a single level of tile lists, the system organizes them across multiple levels (parent tiles, child tiles, etc.). This dimensional change allows the same primitive to be efficiently stored and referenced at multiple levels simultaneously, improving placement accuracy while managing memory through the additional organizational dimension.

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

Data Source

PatentUS10657681B2Method of and apparatus for processing graphics
Publication Date: 2020.05.19 ARM NORWAY
  • US10657681B2 patent drawing
  • US10657681B2 patent drawing
  • US10657681B2 patent drawing

AI summary

A scene to be rendered is divided into plural individual sub-regions or tiles. The individual sub-regions 51 are also grouped into differing groups of sets of plural sub-regions. There is a top level layer comprising a set of 8×8 sub-regions which encompasses the entire scene area. There is then a group of four 4×4 sets of sub-regions, then a group of sixteen 2×2 sets of sub-regions, and finally a layer comprising the 64 single sub-regions. A primitive list building processor takes each primitive in turn, determines a location for that primitive, compares the primitive's location with the locations of the sub-regions and the locations of the sets of sub-regions, and allocates the primitive to respective primitive lists for the sub-regions and sets of sub-regions accordingly.