3D Graphics Pipeline Load Balancing via Thread Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing 3D graphics pipeline is bottlenecked by sequential processing in the pixel rendering stage, limiting performance and requiring dedicated hardware accelerators that increase costs and power consumption in devices like handheld computers, which are not flexible or easily scalable.

Innovation Solution

Implementing an interleaved multi-threaded processor with multiple processing threads that prioritize pixel rendering operations over vertex processing, allowing parallel processing of sub-screen tasks to balance the workload and optimize performance without dedicated hardware accelerators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a dedicated hardware graphics accelerator is used to improve pixel rendering performance, then pixel rendering performance is improved, but device cost and power consumption increase

Engineering Contradiction:
Improvepixel rendering performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent replaces the dedicated hardware graphics accelerator (mechanical/electronic system) with a software-based solution running on a general-purpose processor. The graphics pipeline is implemented through software threads that execute rendering commands, eliminating the need for specialized hardware while maintaining pixel rendering functionality and performance.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The general-purpose processor is designed to perform multiple functions: it executes the graphics pipeline software threads, handles vertex processing, and manages pixel rendering operations. This multi-functional approach eliminates the need for dedicated hardware by making the existing processor versatile enough to handle graphics tasks through software implementation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If a dedicated hardware graphics accelerator is used to improve pixel rendering performance, then pixel rendering performance is improved, but device cost increases

Engineering Contradiction:
Improvepixel rendering performanceVSAvoidhardware requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces the dedicated hardware graphics accelerator (mechanical/electronic system) with a software-based solution running on a general-purpose processor. The graphics pipeline is implemented through software threads that execute rendering commands, eliminating the need for specialized hardware while maintaining pixel rendering functionality and performance.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

Instead of using a dedicated hardware accelerator, the patent creates a software copy of the graphics pipeline functionality. The rendering engine is implemented as software threads that replicate the functions previously requiring dedicated hardware, thereby reducing hardware requirements and device complexity.

Inventive Principle:
Principle #26Copying

3Stability of the object's composition

If sequential processing is used in the pixel rendering stage, then processing order is maintained, but pixel rendering performance is limited

Engineering Contradiction:
Improveprocessing orderVSAvoidpixel rendering performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the pixel rendering task into multiple independent software threads, each responsible for processing specific portions of the graphics pipeline. This segmentation allows parallel execution of rendering operations while maintaining the logical sequence through thread coordination, thereby improving performance without compromising processing integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic thread scheduling where the processor can flexibly assign and reassign threads based on the current rendering workload. This dynamic approach allows the system to optimize performance by adapting the execution strategy to varying graphical scenes while maintaining correct processing order through synchronization mechanisms.

Inventive Principle:
Principle #15Dynamics

4Productivity

If hardware graphics accelerators are used, then pixel rendering is accelerated, but scalability and flexibility are reduced

Engineering Contradiction:
Improvepixel rendering speedVSAvoidscalability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic thread scheduling where the processor can flexibly assign and reassign threads based on the current rendering workload. This dynamic approach allows the system to optimize performance by adapting the execution strategy to varying graphical scenes while maintaining correct processing order through synchronization mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The general-purpose processor is designed to perform multiple functions: it executes the graphics pipeline software threads, handles vertex processing, and manages pixel rendering operations. This multi-functional approach eliminates the need for dedicated hardware by making the existing processor versatile enough to handle graphics tasks through software implementation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7940261B2Automatic load balancing of a 3D graphics pipeline
Publication Date: 2011.05.10 QUALCOMM INC
  • US7940261B2 patent drawing
  • US7940261B2 patent drawing
  • US7940261B2 patent drawing

AI summary

A device has a processor for processing a vertex processing stage, a sub-screen dividing stage and a pixel rendering stage of a three-dimensional (3D) graphics pipeline. The processor includes processing threads which balance the work load of the 3D graphics pipeline by prioritizing processing for the pixel rendering stage over other stages. Each processing thread, operating in parallel and independently, checks a level of tasks in a Task list of sub-screen tasks. If the level is below a threshold value, empty or the sub-screen tasks are all locked, the processing thread loops to the vertex processing stage. Otherwise, the processing thread processes a sub-screen task during the pixel rendering stage.