CPU Vertex Culling for Lower GPU Graphics Rendering Load

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics rendering methods overload the GPU during heavy graphics display or when it handles large scientific computing tasks, affecting performance.

Innovation Solution

Shift the processing of vertex data from the GPU to the CPU, specifically handling vertex data within and outside the field of view, using the CPU to perform coordinate transformations, clipping, and removal operations, thereby reducing the GPU's load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the GPU processes all vertex data for graphics rendering, then rendering completeness is ensured, but GPU load becomes excessively high

Engineering Contradiction:
Improverendering completenessVSAvoidGPU load
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the vertex data processing workload by dividing it into two parts: CPU processes vertex data outside the field of view (culling), while GPU processes only vertex data within the field of view (visible geometry). This segmentation reduces GPU load while maintaining rendering completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and removes vertex data that is outside the field of view before sending data to the GPU. By taking out unnecessary vertex data through CPU-based culling operations, the GPU receives only the essential visible geometry, reducing its processing burden.

Inventive Principle:
Principle #2Taking out (Extraction)

2Manufacturing precision

If the GPU handles heavy graphics display tasks, then graphics rendering quality is maintained, but rendering performance deteriorates

Engineering Contradiction:
Improvegraphics rendering qualityVSAvoidrendering performance
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent performs preliminary culling operations on the CPU side to remove vertex data outside the field of view before the GPU rendering process. This preliminary action reduces the amount of data the GPU must process, thereby improving rendering performance while maintaining quality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of having the GPU process all vertex data (excessive action), the patent applies partial processing where the CPU handles the culling of invisible geometry and the GPU processes only the necessary visible portion, optimizing the balance between quality and performance.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If the GPU processes vertex data for both graphics rendering and scientific computing, then resource utilization is improved, but graphics rendering performance decreases

Engineering Contradiction:
Improveresource utilizationVSAvoidgraphics rendering performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the processing responsibilities by assigning vertex data culling to the CPU and visible geometry rendering to the GPU. This segmentation allows the GPU to focus on graphics rendering tasks while the CPU handles preliminary processing, improving graphics rendering performance even when the GPU is involved in scientific computing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3937118B1Graphics rendering method and apparatus, and computer readable storage medium
Publication Date: 2025.10.22 HUAWEI TECH CO LTD
  • EP3937118B1 patent drawingFigure 1
  • EP3937118B1 patent drawingFigure 2~3
  • EP3937118B1 patent drawingFigure 4~5

AI summary

This application relates to the field of graphics rendering technologies, and specifically discloses a graphics rendering method and a related apparatus. A central processing unit CPU captures an instruction stream of a graphics processing unit GPU to obtain vertex data required by the GPU for graphics rendering; the CPU performs primitive processing such as coordinate transformation and clipping on the obtained vertex data to obtain vertex data within a field of view of a user; and the CPU sends the vertex data within the field of view of the user to the graphics processing unit GPU, so that the GPU performs graphics rendering processing based on the vertex data processed by the CPU. In technical solutions provided in this application, load of the GPU can be reduced during graphics rendering.