Tile-Based Graphics Pipeline Bandwidth Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If all rendered tile data is stored in external memory, then complete data availability is ensured, but memory bandwidth consumption increases
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.
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.
3Productivity
If sampling position values are cached in local memory for reuse across tiles, then processing efficiency improves, but cache memory usage increases
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.
Data Source
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).


