Pro-active GPU Bootup Reduces Frame Drops

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The frame rate provided by the CPU and GPU is often lower than the display's refresh rate, leading to suboptimal video quality and potential frame drops due to delays in GPU initialization and execution.

Innovation Solution

A method where a power-up command is sent to the GPU firmware to initiate GPU hardware initialization before the GPU receives processed graphics commands, allowing parallel processing and reducing the delay between CPU processing and GPU execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the GPU hardware is initialized only after the CPU finishes processing graphics commands, then the GPU ensures it is ready to execute commands without delay, but the overall frame rendering time increases and frame rate decreases

Engineering Contradiction:
Improveframe rateVSAvoidGPU initialization delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by initiating GPU hardware initialization before the CPU completes processing of graphics commands. The system sends a power-up command to the GPU firmware in advance, allowing the GPU to begin its initialization sequence while the CPU is still preparing commands. This overlapping of operations eliminates idle time and ensures the GPU is ready by the time commands are submitted, thereby increasing frame rate without compromising execution readiness.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If the GPU hardware initialization is performed in parallel with CPU command processing, then the overall processing time is reduced, but the system complexity increases due to coordination requirements

Engineering Contradiction:
Improveframe rendering timeVSAvoidCPU-GPU coordination complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent uses an intermediary approach by introducing a firmware layer as a mediator between the CPU and GPU hardware. The firmware receives power-up commands from the CPU, manages the GPU initialization sequence, and coordinates command submission timing. This intermediary simplifies the coordination complexity by providing a standardized interface and control mechanism, allowing parallel operations to proceed smoothly without requiring complex direct CPU-GPU synchronization logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Use of energy by moving object

If the GPU remains in a powered-off state to reduce power consumption, then energy efficiency improves, but the GPU cannot execute commands immediately when needed, causing frame drops

Engineering Contradiction:
ImproveGPU power consumptionVSAvoidframe execution reliability
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The patent applies preliminary action by proactively powering up the GPU hardware in advance of when commands need to be executed. Instead of waiting for commands to accumulate before initializing the GPU, the system anticipates the need for GPU execution and triggers initialization earlier in the rendering pipeline. This ensures the GPU transitions from a low-power state to an active state with sufficient lead time, preventing frame drops while allowing the GPU to remain powered down longer between frames, thus improving overall energy efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10678553B2Pro-active GPU hardware bootup
Publication Date: 2020.06.09 APPLE INC
  • US10678553B2 patent drawing
  • US10678553B2 patent drawing
  • US10678553B2 patent drawing

AI summary

One disclosed embodiment includes a method of graphics processing. The method includes receiving an indication to update a current frame on a display. A plurality of graphics command are determined to be associated with a next frame that replaces the current frame. A power-up command is generated based on the received indication, configured to cause GPU hardware to begin an initialization operation. The central processing unit processes the plurality of graphics command. Prior to completely process the plurality of graphics command, a power-up command is sent to a GPU firmware. The GPU firmware initializes the GPU hardware based on the power-up command. The processed plurality of graphics command is also transmitted to the GPU hardware. The GPU hardware executes the processed plurality of graphics command to render the next frame on the display.