Tile Buffer Pre-loading for Graphics Pipeline Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processing systems experience significant idle time and inefficient resource utilization due to the sequential loading of data into the tile buffer, leading to prolonged wait times for data to be loaded from external memory, which hampers the processing pipeline's efficiency.

Innovation Solution

Implementing a tile-based graphics processing system that pre-loads data for multiple tiles into the tile buffer before initiating graphics processing operations, allowing the pipeline to utilize its resources more efficiently by scheduling data loading in advance and reducing idle time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data is loaded sequentially into the tile buffer from external memory, then the graphics processing pipeline can process tiles in order, but the pipeline experiences significant idle time waiting for data to be loaded

Engineering Contradiction:
Improveidle timeVSAvoiddata loading mechanism
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by loading data for multiple tiles into the tile buffer before the graphics processing pipeline needs to process them. The system predicts which tiles will be needed soon and pre-loads their data from external memory into the tile buffer, so that when the pipeline reaches those tiles, the data is already available. This eliminates idle waiting time in the pipeline while maintaining ordered processing.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is pre-loaded into the tile buffer for multiple tiles, then processing efficiency improves, but the tile buffer requires larger capacity to store multiple tiles' data

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidtile buffer capacity
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The patent applies parameter changes by dynamically adjusting which tiles' data is loaded into the tile buffer based on prediction algorithms. Instead of loading all possible tiles or using a fixed buffer size, the system changes the parameter of buffer content selection based on predicted processing needs. This allows efficient use of limited buffer capacity while maintaining high processing efficiency through intelligent pre-loading of only the necessary tiles.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the graphics processing unit waits for data from external memory before continuing with the subsequent rendering pass, then data accuracy is ensured, but the rendering pass is delayed

Engineering Contradiction:
Improvedata accuracyVSAvoidrendering pass duration
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The patent applies preliminary action by loading required data into the tile buffer before the rendering pass begins. By predicting which tiles will be processed and pre-loading their data from external memory into the faster tile buffer, the system ensures data is available immediately when needed during the rendering pass. This maintains data accuracy while significantly reducing the duration of the rendering pass by eliminating wait states.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10580113B2Loading data into a tile buffer in graphics processing systems
Publication Date: 2020.03.03 ARM LTD
  • US10580113B2 patent drawing
  • US10580113B2 patent drawing
  • US10580113B2 patent drawing

AI summary

A tile-based graphics processing system comprises a graphics processing pipeline comprising a plurality of processing stages, including at least a rasteriser that rasterises input primitives to generate graphics fragments to be processed, and a renderer that processes fragments generated by the rasteriser to generate rendered fragment data, and a tile buffer configured to store data locally to the graphics processing pipeline. The graphics processing system is operable to cause data for use when performing graphics processing operations for each tile of a set of plural tiles of a plurality of tiles to be loaded into the tile buffer before causing graphics processing operations to be performed for any of the tiles of the set of plural tiles.