Primitive Tiling with Boundary Testing for Lower-Power Graphics Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The inefficiency and high power consumption in tiling calculations for graphics processing systems due to the increasing number of primitives, particularly involving numerous floating point operations, hinder the performance of tile-based graphics systems.
Innovation Solution
Perform tiling tests on a subset of tiles and use the results to determine the presence of primitives in other tiles within a bounded region, reducing the need for extensive floating point operations and optimizing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If tiling calculations are performed for all tiles in the rendering space, then accurate primitive assignment to tiles is achieved, but computational time and power consumption increase significantly
Solution Approach 1:
The rendering space is divided into multiple tiles, and the tiling process is segmented into two phases: a fast culling phase that processes all tiles using simplified bounding box tests to identify candidate tiles, followed by a precise tiling phase that performs accurate tiling calculations only on the subset of candidate tiles. This segmentation reduces the number of expensive floating-point operations while maintaining tiling accuracy.
Solution Approach 2:
The patent performs partial tiling actions by first conducting a rough culling pass on all tiles using integer arithmetic with expanded bounding boxes, then performing complete accurate tiling only on the subset of tiles that pass the culling phase. This partial action approach avoids performing full tiling calculations on tiles that will ultimately not contain the primitive, significantly reducing computational time and power consumption.
2Measurement precision
If tiling calculations are performed for all tiles in the rendering space, then accurate primitive assignment to tiles is achieved, but power consumption increases due to numerous floating point operations
Solution Approach 1:
The tiling process is segmented into a power-efficient culling phase using integer arithmetic on expanded bounding boxes, followed by a precise tiling phase on reduced tile subsets. This segmentation dramatically reduces the number of floating-point operations, thereby lowering power consumption while maintaining tiling accuracy.
Solution Approach 2:
The patent performs partial accurate tiling only on candidate tiles identified by the culling phase, rather than performing full tiling calculations on all tiles. This partial action reduces the computational workload and associated power consumption, especially important in mobile and battery-powered graphics systems.
3Adaptability or versatility
If the number of primitives in images increases to improve rendering complexity, then image quality improves, but the number of tiling calculations increases leading to reduced processing efficiency
Solution Approach 1:
The patent segments the tiling process into fast culling and precise tiling phases, allowing the system to handle increased numbers of primitives efficiently. The culling phase quickly filters out tiles that cannot contain primitives using simple integer comparisons, while the precise tiling phase processes only the relevant subset, maintaining processing efficiency even as rendering complexity and primitive counts increase.
Solution Approach 2:
The patent applies partial tiling actions by performing accurate tiling calculations only on candidate tiles identified through the culling phase, rather than on all tiles in the rendering space. This approach scales better with increased primitive counts, as the culling phase efficiently reduces the workload proportionally to the actual primitive distribution in the scene.
Data Source
Figure 1
Figure 2~3
Figure 4a
AI summary
In tile-based graphics processing systems, a tiling unit determines which tiles of a rendering space a primitive is in, such that the primitives in a tile can be rendered. A bounding box is determined for the primitive. For each tile boundary between lines of tiles in the bounding box, intersection points of the tile boundary with edges of the primitive are determined and used to determine which of the tiles in the bounding box the primitive is in. In this way the tiling process can be implemented without performing tiling calculations for all of the tiles in the bounding box for a primitive. Reducing the number of tiling calculations can help to improve the efficiency of the graphics processing system (in terms of speed and power consumption) for rendering a primitive.