Tile-Based Graphics Pipeline Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face challenges in reducing bandwidth consumption, particularly in tile-based graphics processing pipelines, especially when performing deferred shading, due to the need for frequent external memory reads and writes, which can lead to increased power consumption and heat generation.

Innovation Solution

A method is introduced for a tile-based graphics processing pipeline that optimizes bandwidth and memory usage by storing and reusing some but not all sampling position values across tiles, allowing for efficient processing operations like deferred shading without the need for storing and re-storing all rendered tile data, thereby reducing external bandwidth costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all rendered tile data is stored in external memory for deferred shading operations, then processing accuracy is maintained, but bandwidth consumption and power usage increase significantly

Engineering Contradiction:
Improveprocessing accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the tile data storage into two parts: commonly accessed sampling position values are kept in local cache memory, while less frequently accessed data is stored in external memory. This segmentation allows the system to maintain processing accuracy for critical data while reducing overall bandwidth consumption by not keeping all data in external memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by differentiating between data that requires high-speed local access (sampling position values used across multiple tiles) and data that can tolerate slower external memory access. By placing frequently accessed data in local cache and less frequently accessed data in external memory, the system optimizes both power consumption and processing accuracy locally.

Inventive Principle:
Principle #3Local quality

2Reliability

If all rendered tile data is stored in external memory, then complete data availability is ensured, but memory bandwidth consumption increases

Engineering Contradiction:
Improvedata availabilityVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments memory storage into local cache and external memory, placing only the necessary subset of sampling position values in local cache while storing complete data in external memory. This ensures data availability is maintained while reducing the quantity of data transactions over the memory bandwidth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the essential sampling position values that are commonly accessed across multiple tiles and places them in local cache memory. This extraction reduces the amount of data that needs to be transferred over external memory bandwidth while ensuring that the most critical data is readily available.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If sampling position values are cached in local memory for reuse across tiles, then processing efficiency improves, but cache memory usage increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcache memory usage
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The patent applies partial action by caching only the subset of sampling position values that are commonly accessed across multiple tiles, rather than caching all possible data. This partial caching approach improves processing efficiency for the most frequently accessed data while limiting cache memory usage to only what is necessary.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9514563B2Graphics processing systems
Publication Date: 2016.12.06 ARM LTD
  • US9514563B2 patent drawing
  • US9514563B2 patent drawing
  • US9514563B2 patent drawing

AI summary

When processing a set of tiles to generate an output in a tile based graphics processing pipeline, the pipeline, for one or more tiles of the set of tiles, renders one or more render targets containing data to be used in a processing operation (602), and stores the render targets in the tile buffer (604). It also stores some but not all of the sampling position values for a render target or targets for use when processing an adjacent tile of the set of tiles (606). It then performs a processing operation for the tile using the stored render target or targets (608) and one or more stored sampling position values from another, adjacent tile of the set of tiles (610), to generate an output for the tile (612).