xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.

Changes between Initial Version and Version 1 of Latency

03/21/19 05:50:37 (2 years ago)
Antoine Martin



  • Latency

    v1 v1  
     1= Latency =
     5{{{#!div class="box"
     6Understanding latency.
     8From the moment the user does something using the keyboard or mouse until he can see the result of this action on screen.
     9Here are the various steps that can introduce latency:
     10* device, ie: more for wireless devices
     11* operating system and drivers
     12* display server and window manager
     13* xpra client's UI thread (or browser)
     14* client packet formatting, compressing and sending
     15* client OS network layer
     16* network latency
     17* server OS network layer
     18* xpra server receiving, uncompressing and parsing
     19* the specific packet handler for the message type
     20* feeding this event into the backend display server via the UI thread
     21* forwarding the event to the application
     22* application does something (ie: draw something on screen)
     23* the display server is notified
     24* xpra server is notified
     25* xpra server batching
     26* pixel compression
     27* packet formatting, etc
     28* server OS network layer
     29* network latency
     30* client OS network layer
     31* xpra client receiving, uncompressing and parsing
     32* packet handler (ie: paint) in the UI thread
     33* update the screen buffer
     34* present the update on screen
     37The latency graphs in the session-info window of the client show some of those delays.
     40{{{#!div class="box"
     41== Further Reading ==
     43* [https://danluu.com/term-latency/ Terminal latency]
     44* [https://www.prowesscorp.com/computer-latency-at-a-human-scale/ Computer Latency at a Human Scale]