Systems and methods for client-server display timing
OwnerIvan Sviridinventor
Life of this patent
Estimating the term…
Abstract
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.
Claims20
A method of operating a client device in communication with a server, comprising:
- synchronizing frame generation frequency with the server;
- receiving a frame from the server;
- and
- synchronizing frame generation timing with the server based on receiving the frame.
A non-transitory computer-readable medium comprising one or more instructions which, when executed by a processor, causes a device to:
- determine a display refresh rate of the device;
- send the display refresh rate to a server;
- receive a frame from the server based on the display refresh rate;
- present the frame for display at a time;
- determine the time is outside a time window;
- and
- send a pacing message to the server configured to shift a rendering time of a next frame based on the time being outside the time window.
An apparatus, comprising:
- a network interface;
- a graphics processor;
- a processor subsystem;
- and
- a non-transitory computer-readable medium that stores instructions which when executed by the processor subsystem, causes the apparatus to:
- receive a framerate from a client device via the network interface;
- set a render frequency based on the framerate;
- render a frame based on the render frequency;
- send the frame to the client device via the network interface;
- receive a pacing message from the client device via the network interface;
- and
- adjust a rendering start time of a next frame based on the pacing message.
Dependencies are inferred from the claim text.