Post-Render Queue Frame Time Smoothing for 3D Applications
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


