GPU Instruction Merging for Shader Switching Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing devices face inefficiencies in graphics processing due to the overhead of switching shaders and managing rendering operations, which affects performance when handling multiple instructions for graphical user interfaces.

Innovation Solution

The method involves sorting and merging graphics processing instructions based on similarity and overlap, using techniques like visible object types and hash tables to determine insertion positions in an instruction buffer, ensuring correct ordering and reducing resource usage by minimizing shader changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If graphics processing instructions are processed in the order received without merging, then the rendering order is simple to maintain, but the shader switching overhead increases and processing efficiency decreases

Engineering Contradiction:
Improverendering processing efficiencyVSAvoidshader switching time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges multiple graphics processing instructions that operate on non-overlapping canvas portions into a single batched instruction. This consolidation reduces the number of separate rendering operations, thereby decreasing shader switching frequency and improving overall processing efficiency without compromising rendering correctness

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary analysis of incoming graphics instructions to identify those that can be merged based on canvas portion overlap. By pre-processing instructions to determine mergeability before execution, the system optimizes the rendering pipeline in advance, reducing runtime shader switching overhead

Inventive Principle:
Principle #10Preliminary action

2Productivity

If graphics instructions are merged to reduce processing overhead, then shader switching is minimized, but determining correct insertion positions and maintaining rendering order becomes more complex

Engineering Contradiction:
Improveinstruction processing throughputVSAvoidinstruction buffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies different merging strategies based on local characteristics of instructions. Specifically, it checks canvas portion overlap for each instruction pair and applies merging only where appropriate, while maintaining original processing order for overlapping regions. This localized approach simplifies the overall management complexity compared to a universal merging strategy

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system introduces an instruction buffer as an intermediary structure between instruction reception and execution. This buffer allows instructions to be temporarily stored, analyzed for mergeability, and inserted at appropriate positions based on canvas overlap analysis, thereby decoupling the complexity of merge determination from the critical rendering path

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If instructions are sorted by similarity to reduce shader changes, then rendering performance improves, but the complexity of determining similarity and ordering increases

Engineering Contradiction:
Improverendering performanceVSAvoidinstruction sorting and similarity detection complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the parameter used for instruction grouping from general similarity to a specific, easily detectable parameter: canvas portion overlap. This parameter change simplifies the sorting process by providing a clear, binary criterion (overlap or no overlap) that can be efficiently evaluated without complex similarity analysis, while still achieving performance improvements through reduced shader switching

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8854385B1Merging rendering operations for graphics processing unit (GPU) performance
Publication Date: 2014.10.07 GOOGLE LLC
  • US8854385B1 patent drawing
  • US8854385B1 patent drawing
  • US8854385B1 patent drawing

AI summary

Disclosed are apparatus and methods for rendering using a graphics processing component (GPC). A computing device can receive GPC instructions, with each instruction associated with a portion of a canvas. For each instruction: a first portion of the canvas can be determined and an instruction buffer can be searched to identify a mergeable instruction for the instruction. After identifying the mergeable instruction at a mergeable position within the instruction buffer, one or more instructions in the instruction buffer that include the mergeable instruction can be searched for overlap in the canvas with the first portion. In the event that the one or more instructions do not overlap with the first portion of the canvas, then the instruction can be merged with the mergeable instruction. Each instruction in the instruction buffer can be provided to the GPC for performing the instruction.