Interrupt-Free Display Buffering via Asynchronous Frame Index Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In safety-critical environments, traditional triple buffering techniques for computer graphics rely on interrupts, which can be undesirable or difficult to implement, leading to performance issues and certification challenges in ensuring reliability and avoiding artifacts like 'tearing' and 'stutter'.

Innovation Solution

A method using multiple buffers (at least five frame buffers) with asynchronous rendering, where a CPU submits frame data to a GPU, logs frame and display indices, and locks buffers based on display index changes, allowing for interrupt-free operation and synchronization between the GPU and display controller.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional triple buffering with interrupts is used, then display data can be shown without tearing and with minimal latency, but system complexity increases and certification becomes difficult

Engineering Contradiction:
Improvedisplay data integrityVSAvoidsystem implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the interrupt mechanism from the buffering system, removing the source of complexity while preserving the essential buffering functionality. By eliminating interrupts and using pure software-based buffer management with version counters, the system achieves certification-friendly operation without sacrificing display data integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces version counters as intermediary elements that mediate between the GPU, CPU, and display controller. These counters enable asynchronous buffer management and synchronization without requiring interrupts, thereby reducing system complexity while maintaining reliable display operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If VSYNC synchronization is forced, then tearing is prevented, but performance decreases and system implementation becomes more difficult

Engineering Contradiction:
Improvedisplay artifact preventionVSAvoidframe rendering performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by pre-configuring multiple buffers with version counters before rendering begins. This allows the GPU to render frames asynchronously without waiting for VSYNC, preventing performance degradation while the version counters ensure that only complete, artifact-free frames are displayed.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If asynchronous buffer writing is used, then performance is maximized, but ensuring complete frame data display becomes difficult

Engineering Contradiction:
Improveframe rendering performanceVSAvoidframe data completeness
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent implements feedback mechanisms through version counters that are continuously updated and checked. The display controller reads the version counter to determine whether a buffer contains a complete frame, providing feedback that ensures only fully rendered frames are displayed while maintaining asynchronous high-performance rendering.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10929946B2Display buffering methods and systems
Publication Date: 2021.02.23 CHANNEL ONE HOLDINGS INC
  • US10929946B2 patent drawing
  • US10929946B2 patent drawing
  • US10929946B2 patent drawing

AI summary

Multiple-buffered display rendering without the use of hardware or software interrupts. Five buffers can be used: two designated as front buffers and three designated as back buffers. Initially, all five buffers may be targeted for rendering in round robin fashion. As frames are rendered and processed by the graphics device, a frame index counter may be updated to track the ordinal number of each frame rendered by the GPU.