GPU Draw Command Reduction via Scene Graph Texture Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics rendering technologies, particularly in mobile devices, suffer from high power consumption and performance issues due to the need to redraw every single primitive and frame, leading to redundant work and inefficient use of resources.

Innovation Solution

The method involves generating scene graphs for multiple frames and identifying common portions, replacing multiple nodes with a single draw command that retrieves and displays a texture from memory, thereby reducing the number of draw commands issued to the GPU.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If every primitive and frame is redrawn, then rendering completeness is maintained, but power consumption increases and performance deteriorates

Engineering Contradiction:
Improverendering completenessVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent merges identical nodes across multiple frames into a single shared node. When a node in the current frame matches a node in a previous frame (same primitive type, position, orientation, and texture), the system reuses the previous frame's rendered texture instead of redrawing. This combining approach maintains rendering completeness while eliminating redundant draw calls, directly reducing power consumption and improving performance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary rendering of common portions in earlier frames and stores the results as textures. By preparing and caching these common portions in advance, the system avoids redundant rendering work in subsequent frames, reducing the computational burden and power consumption required for each new frame while maintaining complete and accurate rendering.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If every primitive and frame is redrawn, then rendering completeness is maintained, but rendering time increases

Engineering Contradiction:
Improverendering completenessVSAvoidrendering time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges identical nodes across multiple frames into a single shared node. When a node in the current frame matches a node in a previous frame (same primitive type, position, orientation, and texture), the system reuses the previous frame's rendered texture instead of redrawing. This combining approach maintains rendering completeness while eliminating redundant draw calls, directly reducing power consumption and improving performance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary rendering of common portions in earlier frames and stores the results as textures. By preparing and caching these common portions in advance, the system avoids redundant rendering work in subsequent frames, reducing the computational burden and power consumption required for each new frame while maintaining complete and accurate rendering.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If multiple draw commands are issued, then rendering accuracy is maintained, but GPU workload increases

Engineering Contradiction:
Improverendering accuracyVSAvoidGPU workload
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent merges identical nodes across multiple frames into a single shared node. When a node in the current frame matches a node in a previous frame (same primitive type, position, orientation, and texture), the system reuses the previous frame's rendered texture instead of redrawing. This combining approach maintains rendering completeness while eliminating redundant draw calls, directly reducing power consumption and improving performance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system creates a copy of the rendered texture from previous frames and reuses it for identical nodes in current frames. Instead of issuing multiple draw commands to render the same primitive again, the system copies the pre-computed texture data and applies it, maintaining rendering accuracy while significantly reducing GPU workload and the number of draw commands.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9934547B2Method and system for reducing the number of draw commands issued to a graphics processing unit (GPU)
Publication Date: 2018.04.03 QUALCOMM INC
  • US9934547B2 patent drawing
  • US9934547B2 patent drawing
  • US9934547B2 patent drawing

AI summary

An example method of reducing a number of draw commands issued to a GPU includes generating a first scene graph including a first set of nodes for rendering objects in a first frame and generating a second scene graph including a second set of nodes for rendering objects in a second frame. The method further includes identifying a common portion of the first and second frames. The common portion corresponds to a plurality of nodes in the first and second scene graphs that are the same. The method also includes replacing the plurality of nodes in the second scene graph with a single node including a single draw command that represents draw commands in the plurality of nodes. The single draw command causes the GPU to display the texture in the second frame. The texture is based on a rendering of the common portion in the first frame.