xpra icon
Bug tracker and wiki

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

Version 1 (modified by Antoine Martin, 2 years ago) (diff)



Understanding latency.

From the moment the user does something using the keyboard or mouse until he can see the result of this action on screen. Here are the various steps that can introduce latency:

  • device, ie: more for wireless devices
  • operating system and drivers
  • display server and window manager
  • xpra client's UI thread (or browser)
  • client packet formatting, compressing and sending
  • client OS network layer
  • network latency
  • server OS network layer
  • xpra server receiving, uncompressing and parsing
  • the specific packet handler for the message type
  • feeding this event into the backend display server via the UI thread
  • forwarding the event to the application
  • application does something (ie: draw something on screen)
  • the display server is notified
  • xpra server is notified
  • xpra server batching
  • pixel compression
  • packet formatting, etc
  • server OS network layer
  • network latency
  • client OS network layer
  • xpra client receiving, uncompressing and parsing
  • packet handler (ie: paint) in the UI thread
  • update the screen buffer
  • present the update on screen

The latency graphs in the session-info window of the client show some of those delays.