Parallel Primitive Distribution in TBR Tilers With Order Restoration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The bottleneck of the Tile-Based Rendering (TBR) processing pipeline is the serialized tiler, which affects overall graphics processing efficiency when dealing with large amounts of primitive data, leading to increased power consumption and complexity.
Innovation Solution
Implementing parallel processing with at least two tilers corresponding to one or more geometry pipelines, where each tiler distributes primitive chunk data based on a distribution order to generate polygon lists, and the rasterization pipeline restores the original input order of distributed data through these lists.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single serialized tiler is used in the TBR processing pipeline, then the physical design complexity is reduced, but the processing efficiency deteriorates when dealing with large amounts of primitive data
Solution Approach 1:
The patent divides the single tiler into multiple parallel tilers (at least two tilers). Each tiler independently processes a portion of the primitive data, distributing the processing workload across multiple units. This segmentation increases processing throughput and efficiency while managing complexity through modular design.
Solution Approach 2:
The patent transitions from a single-threaded sequential processing model to a multi-threaded parallel processing model by introducing multiple tilers operating simultaneously. This dimensional change in processing architecture enables concurrent handling of multiple primitive data streams, significantly improving productivity.
2Use of energy by moving object
If a single serialized tiler is used in the TBR processing pipeline, then the device structure is simplified, but the power consumption increases due to processing bottlenecks
Solution Approach 1:
By segmenting the tiler into multiple parallel units, the processing workload is distributed, preventing any single unit from becoming a bottleneck that consumes excessive power. Each tiler processes a subset of data, reducing the peak power consumption compared to a single overloaded tiler.
Solution Approach 2:
Multiple parallel tilers enable continuous processing of primitive data without serialization delays. While one tiler processes data, others can simultaneously handle different portions, maintaining continuous useful action and reducing idle time, thereby improving energy efficiency.
3Productivity
If multiple parallel tilers are introduced to improve processing efficiency, then the processing bottleneck is reduced, but the data distribution and order restoration becomes more complex
Solution Approach 1:
The patent introduces a data distribution mechanism that acts as an intermediary between multiple tilers and the subsequent processing stages. This intermediary manages the complex task of distributing data to appropriate tilers and restoring the original input order of distributed data, isolating the complexity from the core tiling logic.
Solution Approach 2:
The system implements feedback mechanisms where the data distribution component monitors the processing state of multiple tilers and dynamically adjusts data allocation to maintain optimal performance. This feedback loop helps manage the complexity of coordinating multiple parallel operations.
Data Source
Figure 1A~1B
Figure 1C~1D
Figure 2
AI summary
Disclosed in embodiments of the present application are a primitive distribution method and apparatus, a device, and a storage medium. The method is applied to a graphics processing unit, and comprises: a geometry processing pipeline outputs at least one piece of primitive group data sent by a primitive distribution part to a corresponding tiler, wherein the primitive group data comprises a plurality of pieces of data to be distributed having a distribution sequence; each tiler distributes, on the basis of the distribution sequence, the plurality of pieces of data to be distributed in each piece of primitive group data, to generate a polygon list of each tile, wherein the polygon list comprises distributed data corresponding to the tile; and for each tile, a rasterization processing pipeline acquires, from the polygon list corresponding to the tile, distributed data corresponding to the tile so as to perform rasterization processing of the tile.