Graphics Processor Two-Pass Rendering Visibility Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies due to 'overdraw' caused by processing primitives sequentially, leading to redundant rendering operations, which reduces frame rates and increases memory bandwidth requirements, especially in complex scenes where early hidden surface removal techniques are less effective.

Innovation Solution

Implementing a two-pass rendering process where a pre-pass operation determines visibility information for primitives, allowing for improved hidden surface removal by processing primitives in separate passes, with the first pass generating visibility data and the second pass performing actual rendering based on that information, and interleaving these passes to optimize throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If primitives are processed sequentially in a single pass, then the rendering pipeline is simple and easy to implement, but redundant rendering operations occur causing overdraw which reduces frame rates and increases memory bandwidth requirements

Engineering Contradiction:
Improveframe rateVSAvoidrendering process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The rendering process is segmented into multiple passes: a first pass processes primitives to generate visibility information, and a second pass uses that visibility information to control rendering. This segmentation eliminates overdraw by separating the visibility determination from the actual rendering operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first pass performs preliminary action by processing all primitives to generate visibility information before the actual rendering begins. This preliminary visibility determination allows the second pass to render only visible fragments, eliminating redundant rendering operations.

Inventive Principle:
Principle #10Preliminary action

2Loss of energy

If early hidden surface removal techniques are used, then some redundant rendering can be avoided, but they are less effective in complex scenes leading to continued overdraw

Engineering Contradiction:
Improveenergy efficiencyVSAvoidrendering effectiveness
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The first pass performs preliminary processing of all primitives to generate comprehensive visibility information before rendering begins. This preliminary action enables complete hidden surface removal by determining which fragments are visible before the rendering process starts, making the technique effective even in complex scenes.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If visibility information is determined before rendering, then redundant rendering operations are reduced, but additional processing passes are required increasing the overall processing time

Engineering Contradiction:
Improverendering efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The rendering process is divided into distinct segments: a first pass for visibility determination and a second pass for actual rendering. This segmentation allows each pass to be optimized independently and enables parallel processing of visibility information generation and rendering operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first pass continuously processes all primitives to generate visibility information that is then immediately available for the second pass. This continuous generation of visibility information eliminates gaps in processing and ensures that rendering operations can proceed without waiting for visibility determinations.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20240169649A1Graphics processors
Publication Date: 2024.05.23 ARM LTD
  • US20240169649A1 patent drawing
  • US20240169649A1 patent drawing
  • US20240169649A1 patent drawing

AI summary

When performing tile-based rendering a first, pre-pass operation in which primitives in a sequence of primitives for a tile are processed to determine visibility information for the sequence of primitives, the visibility information being usable to determine whether or not fragments for a primitive in the sequence of primitives should subsequently be processed further for the render output, is performed. Thereafter a second, main pass operation is performed in which the further processing of fragments for primitives that were processed during the first, pre-pass operation is controlled based on the determined visibility information for the sequence of primitives, such that for fragments for which the visibility information indicates that the fragments should not be processed further for the render output some or all of the processing during the second, main pass is omitted. Passes from different tiles can be interleaved.