Binary Search Start Tile Rasterization for Graphics Primitives

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional rasterization methods in graphics rendering consume excessive resources and clock cycles when dealing with primitives that only partially reside within a clipping window, leading to a negative performance impact, especially for primitives with a majority of their area outside the clipping window.

Innovation Solution

Implementing a binary search algorithm to rapidly identify the start tile that intersects the graphics primitive within the clipping window, allowing for efficient rasterization of relevant pixels by dividing the search range in half at each step, thereby accelerating the search time by a factor of 100 or more.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional unidirectional rasterization is used to traverse pixels row-by-row, then all pixels within a primitive are covered, but a large amount of work and clock cycles are consumed rasterizing pixels that will not be rendered within the clipping window

Engineering Contradiction:
Improvecompleteness of pixel coverageVSAvoidrendering efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The binary search algorithm performs preliminary action by quickly locating the start tile (the first tile containing primitive pixels within the clipping window) before actual rasterization begins. This preliminary localization prevents the rasterizer from wasting time on tiles that contain no primitive pixels, thereby resolving the contradiction between complete pixel coverage and rendering efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The image space is segmented into discrete tiles, and the binary search algorithm segments the search process into logarithmic steps. By dividing the tile space and systematically eliminating half of the remaining search space at each step, the algorithm efficiently locates the start tile without examining every tile sequentially, thus improving productivity while maintaining reliability

Inventive Principle:
Principle #1Segmentation

2Reliability

If traditional rasterization steps from the starting edge across the primitive until entering the visible region, then the primitive is eventually rendered, but the sequence shifts across the image finding the edge of the primitive consuming excessive clock cycles

Engineering Contradiction:
Improveprimitive rendering accuracyVSAvoidsearch time for primitive edge
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The binary search performs preliminary localization of the primitive edge by quickly identifying the start tile coordinates before the main rasterization process begins. This preliminary action reduces the search time from linear traversal to logarithmic complexity, resolving the contradiction between accurate primitive rendering and time efficiency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The algorithm changes the search parameter from sequential tile-by-tile traversal to binary search based on tile coordinates. By transforming the search approach and using coordinate-based binary search, the time complexity is reduced while maintaining the accuracy of locating the primitive edge within the clipping window

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7843468B2Accellerated start tile search
Publication Date: 2010.11.30 NVIDIA CORP
  • US7843468B2 patent drawing
  • US7843468B2 patent drawing
  • US7843468B2 patent drawing

AI summary

In a raster stage of a graphics pipeline, a method for accelerated start tile rasterization. The method includes defining a window for clipping a generated image and receiving a graphics primitive for rasterization in a raster stage of a graphics processor. A binary search related to the window is performed to determine a start tile having at least a partial coverage of the graphics primitive, wherein the start tile comprises a plurality of pixels. Based upon the start tile, the raster stage rasterizes the graphics primitive by generating a plurality of adjacent tiles having at least a partial coverage of the graphics primitive.