Selective Rasterization Using Render Bits for Tile Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing systems face inefficiencies in rendering frames, as they often render entire frames even when only parts have changed, leading to significant bookkeeping and computational complexity, particularly in identifying regions that need updating.
Innovation Solution
Implementing render bits for tiles, where a single bit indicates whether to render or not, allowing for reduced rasterization work by storing render bits in a bitmask and using them to determine if a tile needs rendering, thereby avoiding unnecessary processing during hierarchical rasterization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire frame is rendered every time, then the rendering is complete and accurate, but the processing time and energy consumption increase significantly
Solution Approach 1:
The frame is divided into multiple tiles, and render bits are used to segment the rendering work at the tile level. This allows the system to process only the necessary tiles rather than the entire frame, resolving the contradiction between rendering completeness and rendering time by enabling selective processing of frame segments.
Solution Approach 2:
The patent implements partial rendering by using render bits to indicate which tiles require processing. Instead of rendering the entire frame (excessive action), only the tiles with set render bits are processed (partial action), thereby reducing rendering time while maintaining the necessary rendering completeness for changed regions.
2Productivity
If only changed regions are rendered, then the processing time and energy are reduced, but the complexity of identifying those regions increases
Solution Approach 1:
The patent uses a bitmask (render bits) to copy the state information of which tiles need rendering. This simple binary copy mechanism replaces complex region identification algorithms, reducing the device complexity while maintaining high rendering efficiency by quickly identifying changed regions through the bitmask.
3Loss of energy
If manual tracking of changed regions is implemented, then unnecessary rendering is avoided, but the software complexity and bookkeeping overhead increase
Solution Approach 1:
The system performs self-service by automatically updating render bits based on changes in the scene graph or rendering state. This eliminates the need for external manual tracking or complex bookkeeping software, as the render bit mechanism itself tracks which tiles need rendering, thereby reducing both energy consumption and software complexity.
4Reliability
If transform and shade operations are performed on all primitives, then the rendering quality is maintained, but the processing workload increases
Solution Approach 1:
The patent performs preliminary action by setting render bits before the actual rendering process based on scene changes or depth buffer comparisons. This preliminary marking of tiles that need rendering allows the transform and shade operations to be skipped for unnecessary tiles, maintaining rendering quality for changed regions while significantly improving processing throughput by avoiding redundant operations.
Data Source
AI summary
According to one embodiment, a given tile, made up of pixels or samples, may be of any shape, including a square shape. These pixels may contain colors, depths, stencil values, and other values. Each tile may be further augmented with a single bit, referred to herein as a render bit. In one embodiment, if the render bit is one, then everything is rendered as usual within the tile. However, if the render bit is zero, then nothing is rasterized to this tile and, correspondingly, depth tests, pixel shading, frame buffer accesses, and multi-sampled anti-aliasing (MSAA) resolves are not done for this tile. In other embodiments, some operations may be done nevertheless, but at least one operation is avoided based on the render bit. Of course, the render bits may be switched such that the bit zero indicates that everything should be rendered and the bit one indicates more limited rendering.


