Post-Render Queue Frame Time Smoothing for 3D Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional game engines face challenges in maintaining consistent frame rendering and display rates, leading to stutter and hitches in 3D applications due to inconsistencies between animation and display times, which negatively impact user experience.

Innovation Solution

Implementing end-to-end frame time synchronization by using a post-render queue and a flip control thread to adjust animation times and synchronize frame display with the intended animation time, ensuring frames are displayed according to their generation time rather than render times, thereby reducing visual stutter.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If frames are rendered and displayed at a consistent rate, then the animation time coincides with display time, but this assumption fails when render time does not match average render time, causing stutter

Engineering Contradiction:
Improveframe consistencyVSAvoidrender time predictability
Core Design Contradiction:
Stability of the object's compositionVSReliability

Solution Approach 1:

The patent introduces a post-render queue as an intermediary component between the rendering system and display system. This queue buffers frames and manages the timing between rendering and display, allowing the render time to vary while maintaining consistent display timing. The queue acts as a mediator that decouples the rendering process from the display process, resolving the contradiction between frame consistency and render time predictability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If animation time is extended to accommodate variable render times, then frames can be captured at consistent rates, but the displayed product appears to freeze or slow down momentarily

Engineering Contradiction:
Improveanimation timeVSAvoidframe display speed
Core Design Contradiction:
Loss of timeVSSpeed

Solution Approach 1:

The patent implements preliminary action by pre-buffering frames in the post-render queue before display. Frames are rendered and stored in advance with their associated timing information, then displayed at the appropriate time based on the queue's state. This allows the system to prepare frames during periods of high render time without immediately affecting display speed, thus preventing freezing or slow-down effects.

Inventive Principle:
Principle #10Preliminary action

3Speed

If frames are displayed at a fixed rate regardless of render time, then display consistency is maintained, but visual stutter and hitches occur when render time varies

Engineering Contradiction:
Improveframe display rateVSAvoidvisual stutter
Core Design Contradiction:
SpeedVSObject-generated harmful factors

Solution Approach 1:

The patent implements feedback by continuously monitoring the post-render queue's fill and drain rates, and using this information to dynamically adjust the animation time for subsequent frames. This feedback loop ensures that the animation time is optimized based on actual rendering performance, allowing the system to maintain both consistent display rate and minimize visual stutter by adapting to varying render times.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12056854B2Systems and methods for frame time smoothing based on modified animation advancement and use of post render queues
Publication Date: 2024.08.06 NVIDIA CORP
  • US12056854B2 patent drawing
  • US12056854B2 patent drawing
  • US12056854B2 patent drawing

AI summary

Embodiments of the present invention provide end-to-end frame time synchronization designed to improve smoothness for displaying images of 3D applications, such as PC gaming applications. Traditionally, an application that renders 3D graphics functions based on the assumption that the average render time will be used as the animation time for a given frame. When this condition is not met, and the render time for a frame does not match the average render time of prior frames, the frames are not captured or displayed at a consistent rate. This invention enables feedback to be provided to the rendering application for adjusting the animation times used to produce new frames, and a post-render queue is used to store completed frames for mitigating stutter and hitches. Flip control is used to sync the display of a rendered frame with the animation time used to generate the frame, thereby producing a smooth, consistent image.