Hybrid Rendering Engine Dynamic CPU GPU Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

User equipment with limited resources struggles to provide timely and smooth graphics rendering and user interface responses due to computationally intensive graphics operations, leading to system lag and poor user experience, especially with the increasing complexity of graphical user interfaces and demands for high-quality performance.

Innovation Solution

A rendering engine dynamically switches between CPU and GPU rendering paths based on performance data and historical usage patterns to optimize resource utilization, using a hint generation module to determine the most efficient rendering path for each frame, allowing for intelligent dispatch of rendering tasks to either the CPU or GPU.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If graphics operations are performed on CPU, then system resource utilization is maintained, but graphics rendering performance is insufficient due to computational intensity

Engineering Contradiction:
Improvegraphics rendering performanceVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically switches between CPU and GPU rendering paths based on performance data and historical usage patterns. The rendering engine monitors performance metrics and automatically selects the optimal rendering path (CPU or GPU) for each frame, allowing the system to adapt to varying graphics workloads and maximize rendering performance without permanent architectural complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

A rendering engine acts as an intermediary layer between the application and the rendering hardware (CPU/GPU). This engine receives rendering requests, analyzes performance data, and dispatches tasks to the appropriate processor. The intermediary manages the complexity of switching between rendering paths while presenting a unified interface to applications

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If dedicated GPU rendering is used, then graphics acceleration is achieved, but resource utilization efficiency decreases in certain scenarios

Engineering Contradiction:
Improvegraphics rendering performanceVSAvoidresource utilization efficiency
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts the rendering path selection based on real-time performance data and historical usage patterns. Instead of permanently allocating GPU resources, the system activates GPU rendering only when performance data indicates it will improve rendering speed, and falls back to CPU rendering when GPU usage is inefficient, thereby optimizing resource utilization across different scenarios

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of the rendering system by switching between different rendering paths (CPU vs. GPU) based on performance metrics. Performance data including rendering time, frame rate, and resource usage are monitored to determine when to switch rendering paths, allowing the system to optimize for both speed and energy efficiency under different conditions

Inventive Principle:
Principle #35Parameter changes

3Speed

If CPU rendering is used for all frames, then system simplicity is maintained, but rendering speed and responsiveness are insufficient for complex graphics

Engineering Contradiction:
Improverendering speedVSAvoidrendering path management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system collects performance data and historical usage patterns in advance to inform future rendering decisions. By monitoring and storing performance metrics from previous rendering operations, the system builds a knowledge base that enables faster and more accurate selection of rendering paths for subsequent frames, improving rendering speed without requiring complex real-time analysis

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where performance data from rendering operations is continuously collected and analyzed. This feedback is used to adjust rendering path selection, with the rendering engine learning from historical performance to optimize future decisions. The feedback loop enables the system to improve rendering speed while managing complexity through data-driven decision making

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2880622B1Hybrid rendering systems and methods
Publication Date: 2020.11.04 INTEL CORP
  • EP2880622B1 patent drawingFigure 1
  • EP2880622B1 patent drawingFigure 2
  • EP2880622B1 patent drawingFigure 3

AI summary

Embodiments of a system and method for enhanced graphics rendering performance in a hybrid computer system are generally described herein. In some embodiments, a graphical element in a frame, application, or web page, which is to be presented to a user via a web browser, is rendered either by a first processor or a second processor based on indications of whether the first or the second processor is equipped or configured to provide faster rendering. A rendering engine may utilize either processor based on historical or anticipated rendering performance, and may dynamically switch between the hardware decoder and general purpose processor to achieve rendering time performance improvement. Switches between processors may be limited to a fixed number switches or switching frequency.