GPU Tile Scheduling Using Cost Indications to Reduce Render Time
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Graphics processing systems face inefficiencies in rendering time due to uneven workload distribution across multiple processing cores, particularly when expensive tiles are processed near the end of a render, leading to increased render time and potential stuttering in graphical output.
Innovation Solution
A graphics processing unit is configured with cost indication logic to assess the processing cost of tiles and scheduling logic to prioritize tiles based on these cost indications, ensuring that high-cost tiles are processed before less costly ones, and the option to subdivide tiles into smaller subtiles for more efficient distribution across cores.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tiles are processed in arbitrary order without cost consideration, then processing is simple, but render time increases due to expensive tiles creating bottlenecks at the end
Solution Approach 1:
The system performs preliminary cost indication assessment for each tile before rendering begins. The cost indication logic evaluates tiles in advance and assigns cost indications based on factors like primitive counts, object types, and shader complexity. This preliminary assessment allows the scheduling logic to prioritize expensive tiles for early processing, preventing them from becoming end-of-render bottlenecks without adding complex runtime scheduling decisions.
2Productivity
If high-cost tiles are processed first based on cost indications, then render time is reduced, but workload distribution becomes uneven across processing cores
Solution Approach 1:
The system applies different processing strategies to different tiles based on their local characteristics (cost indications). Rather than treating all tiles uniformly, the scheduling logic assigns tiles to processing cores based on their individual cost profiles, allowing expensive tiles to be prioritized while distributing less costly tiles to balance the overall workload across cores. This localized quality approach ensures both render time optimization and workload stability.
3Productivity
If tiles are subdivided into subtiles, then workload distribution improves, but processing overhead increases
Solution Approach 1:
The system segments tiles into subtiles selectively based on cost indications and processing core availability. Rather than subdividing all tiles, the scheduling logic identifies tiles that would benefit from subdivision (typically large expensive tiles) and divides only those into smaller subtiles. This selective segmentation improves workload distribution across processing cores while minimizing the processing overhead associated with tile subdivision and management.
Data Source
AI summary
A graphics processing unit is configured to process graphics data using a rendering space which is sub-divided into a plurality of tiles. The graphics processing unit comprises one or more processing cores configured to process graphics data. The graphics processing unit also comprises cost indication logic configured to obtain a cost indication for each of a plurality of sets of one or more tiles of the rendering space, wherein the cost indication for a set of one or more tiles is suggestive of a cost of processing the set of one or more tiles. The graphics processing unit also comprises scheduling logic configured to schedule, in dependence upon the cost indications, the sets of one or more tiles for processing on the one or more processing cores.


