Graphics Processing Region Data Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional tile-based graphics processing systems require all geometry data to be processed upfront, leading to inefficient memory usage and delayed rendering, as they store all primitive data together and rely on additional data structures for spatial distribution, which limits the ability to render regions independently.

Innovation Solution

The system divides the render output into smaller regions, storing geometry and state data separately for each region in distinct data structures, allowing for independent processing and rendering of each region without waiting for other data, and using a 'state data' structure to avoid duplication of state information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all geometry data is processed upfront and stored together in traditional tile-based systems, then complete rendering data is available, but memory usage increases and rendering speed decreases due to inability to process regions independently

Engineering Contradiction:
Improverendering speedVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the render output into multiple independent regions, with each region having its own separate data structure storing only the geometry and state data necessary for that specific region. This allows the graphics processor to process and render regions independently without requiring all geometry data to be loaded into memory simultaneously, thereby reducing peak memory usage while maintaining rendering speed.

Inventive Principle:
Principle #1Segmentation

2Productivity

If all primitive data is stored together with additional data structures for spatial distribution, then complete primitive information is available, but device complexity increases and processing efficiency decreases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the spatial distribution information from the traditional separate data structures and directly integrates it into the region-specific data structures. Each region's data structure contains only the primitives that need to be rendered for that region, eliminating the need for additional indexing and spatial query structures, thereby simplifying the overall system while improving processing efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If regions are rendered independently with separate data structures, then rendering parallelism and speed improve, but data organization complexity increases

Engineering Contradiction:
Improverendering speedVSAvoiddata structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies local quality by creating data structures with different characteristics for different regions. Each region's data structure is optimized for its specific rendering requirements, containing only the necessary geometry and state data for that region. This local optimization enables independent parallel processing of regions while keeping each data structure simple and region-specific, rather than requiring a single complex global structure.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11210847B2Graphics processing systems
Publication Date: 2021.12.28 ARM LTD
  • US11210847B2 patent drawing
  • US11210847B2 patent drawing
  • US11210847B2 patent drawing

AI summary

When processing graphics primitives in a graphics processing system, the render output is divided into a plurality of regions for rendering, each region comprising a respective area of the render output. It is determined for which of the plurality of regions of the render output a primitive should be rendered for. Associated state data for rendering the primitive is stored in a “state data” data structure in memory. For each region of the render output it is determined the primitive should be rendered for, a reference to the associated state data for rendering the primitive is stored in a respective, different data structure for each different region of the render output it is determined the primitive should be rendered for.