GPU Path Rendering Tile Splitting and Winding Number Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for enhancing GPU acceleration performance during path rendering are limited, as they assume triangular input data, whereas path rendering involves combinations of commands and vertices, making it difficult to improve acceleration effectively.

Innovation Solution

A method and apparatus that determine a split line to split a frame into tiles, allocate path information to relevant tiles, and calculate winding numbers based on the path's direction through these tiles, optimizing the rendering process by differentiating and updating winding numbers for each tile.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If path rendering is performed using traditional GPU hardware structure designed for triangular data, then the rendering process can be executed, but the acceleration performance cannot be effectively improved

Engineering Contradiction:
Improverendering acceleration performanceVSAvoidcompatibility with path rendering data format
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The frame is divided into multiple tiles, and path information is selectively allocated only to tiles that the path passes through. This segmentation allows parallel processing of multiple tiles while reducing the amount of data each processing unit must handle, thereby improving rendering acceleration performance for path data without requiring changes to the underlying GPU hardware architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different processing approaches are applied to different regions: tiles containing path information receive specialized winding number calculation, while other tiles use standard rendering pipelines. This local optimization enables the system to handle path rendering efficiently in specific regions without compromising overall system compatibility with traditional triangular rendering workflows

Inventive Principle:
Principle #3Local quality

2Manufacturing precision

If path information is allocated to all tiles in the frame, then complete rendering coverage is achieved, but calculation overhead increases

Engineering Contradiction:
Improverendering completenessVSAvoidcalculation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

Path information is extracted and allocated only to the specific tiles that the path actually passes through, rather than distributing it to all tiles. This selective allocation maintains complete rendering coverage for the path while significantly reducing the number of tiles requiring winding number calculations, thereby decreasing overall calculation time and overhead

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If winding numbers are calculated for all tiles, then accurate path rendering is ensured, but processing efficiency decreases

Engineering Contradiction:
Improvepath rendering accuracyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Winding number calculation is performed partially—only for tiles that contain path information—rather than for all tiles in the frame. This partial action maintains rendering accuracy for the path while avoiding unnecessary calculations in tiles that do not require path rendering, thus improving overall processing speed without sacrificing reliability

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10134184B2Method of rendering object including path and rendering apparatus for performing path rendering
Publication Date: 2018.11.20 SAMSUNG ELECTRONICS CO LTD
  • US10134184B2 patent drawing
  • US10134184B2 patent drawing
  • US10134184B2 patent drawing

AI summary

A method to render an object including a path includes: determining a split line to split a frame; allocating information about the path to a first tile through which the path passes and to a second tile located between the first tile and the split line, among tiles included in the frame; and determining respective winding numbers for the first tile and the second tile, based on information about the allocated path.