Tile-Based Rendering Tessellation Visibility Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional tessellation techniques in graphics rendering, such as those used in Microsoft's DirectX11, are inefficient in tile-based rendering architectures, leading to unnecessary processing and memory usage in embedded devices with limited resources, as they assume full frame rendering rather than per-tile rendering.

Innovation Solution

Generating input and output visibility streams for each tile to determine visible graphics primitives, allowing for skipping of unnecessary tessellation and processing stages, thereby optimizing resource usage in tile-based graphics processing architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional tessellation techniques are used in tile-based rendering, then full frame rendering is performed, but unnecessary processing and memory usage occur for invisible primitives

Engineering Contradiction:
Improverendering efficiencyVSAvoidunnecessary processing
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the rendering process into per-tile operations rather than full-frame processing. Visibility streams are generated and processed independently for each tile, allowing the rendering pipeline to divide and conquer the frame buffer into smaller renderable tiles. This segmentation enables the system to process only the visible portions of primitives within each tile's boundaries, eliminating unnecessary processing for areas outside the current tile being rendered.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by performing tessellation and rendering only for visible portions of primitives within each tile. The visibility stream mechanism allows the system to determine exactly which portions of input primitives are visible in each tile and perform tessellation only for those portions. This avoids the excessive action of fully tessellating primitives that may be partially or completely invisible in the current tile, thereby reducing processing overhead.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If visibility streams are generated for each tile, then processing of invisible primitives is skipped, but additional memory and processing is required for generating and managing visibility streams

Engineering Contradiction:
Improveprocessing throughputVSAvoidvisibility stream management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by generating visibility streams in advance during a binning pass before the actual rendering occurs. The binning pipeline performs preliminary calculations to determine which input primitives are visible in each tile and encodes this information into visibility streams. This preliminary action allows the main rendering pipeline to simply read and act on pre-computed visibility information without performing complex visibility calculations during rendering, thereby simplifying the rendering process while maintaining high throughput.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If tessellation is performed for all input primitives, then complete output coverage is achieved, but processing time and resource usage increase for embedded devices

Engineering Contradiction:
Improverendering completenessVSAvoidtessellation processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by applying different processing levels to different regions of the frame based on visibility information. For each tile, the system determines the appropriate tessellation level and processing intensity based on whether the input primitive is visible in that specific tile. This allows high-quality complete tessellation for visible regions while using minimal or no processing for invisible regions, thereby achieving rendering completeness where needed while minimizing processing time overall.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10089774B2Tessellation in tile-based rendering
Publication Date: 2018.10.02 QUALCOMM INC
  • US10089774B2 patent drawing
  • US10089774B2 patent drawing
  • US10089774B2 patent drawing

AI summary

The disclosed techniques includes generating an input visibility stream for each tile of a frame, the input visibility stream indicating whether or not an input primitive is visible in each tile when rendered, and generating an output visibility stream for each tile of the frame, the output visibility stream indicating whether or not an output primitive is visible in each tile when rendered, wherein the output primitive is produced by tessellating the input primitive. In this way, based on the input visibility stream, tessellation may be skipped for entire input primitive that is not visible in the tile. Also, based on the output visibility stream, tessellation may be skipped for certain ones of the output primitives that are not visible in the tile, even if some of the input primitive is not visible.