Client-Server Display Timing Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in minimizing display latency in client-server graphics applications, leading to suboptimal user experiences due to desynchronization and input lag.

Innovation Solution

The solution involves coordinating frame timing between the client device and the server by synchronizing the number and frequency of frames sent, ensuring that frames arrive at the client as close as possible to the next scanout time, and using pacing messages to adjust the server's rendering timing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If frames are sent from server to client without timing coordination, then the system architecture is simple, but display latency increases and frame desynchronization occurs

Engineering Contradiction:
Improvedisplay latencyVSAvoidtiming coordination complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The client device sends timing information (scanout timestamps, frame presentation times) back to the server as feedback. The server uses this feedback to adjust its frame rendering timing, creating a closed-loop control system that minimizes display latency while maintaining synchronization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The server performs preliminary actions by pre-rendering frames and buffering them before the client is ready to display. The server anticipates client display timing needs and prepares frames in advance, reducing the actual display latency when frames are presented.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If the server renders frames at a different frequency than the client display refresh rate, then the server can operate independently, but frame desynchronization and stuttering occur

Engineering Contradiction:
Improveframe synchronization stabilityVSAvoidrendering frequency flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The server dynamically adjusts its frame rendering frequency and timing based on real-time feedback from the client device. Instead of a fixed rendering rate, the system adapts the server's output to match the client's actual display timing, preventing desynchronization while maintaining operational independence.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The server changes its rendering parameters (frame timing, presentation schedule) based on timing information received from the client. This allows the server to maintain independence while adapting its output characteristics to ensure stable frame synchronization with the client display.

Inventive Principle:
Principle #35Parameter changes

3Speed

If frames are sent earlier to reduce latency, then display responsiveness improves, but frames may arrive before the client is ready causing synchronization issues

Engineering Contradiction:
Improveframe transmission speedVSAvoidframe arrival timing reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The server performs preliminary rendering and buffers frames before the client is ready to display them. This preliminary action allows frames to be prepared in advance and sent at the optimal moment, reducing latency while ensuring reliable timing synchronization with the client display refresh cycle.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250050204A1Systems and methods for client-server display timing
Publication Date: 2025.02.13 SVIRID IVAN
  • US20250050204A1 patent drawing
  • US20250050204A1 patent drawing
  • US20250050204A1 patent drawing

AI summary

Systems, apparatus, and methods for performing client-server display timing. A client device may synchronize frame rendering frequency on a server with a client device display frame rate. The server may render frames at the rendering frequency and send the frames to the client device. The client device may determine whether frames were received at a nonoptimal time window and send a pacing message to the server to offset frame rendering. The server may offset the timing of rendering/sending the frame to the client device based on timing data of previous frames at the client device. Frames generated at the server may arrive during an optimal timing window for reduced latency.