xpra icon
Bug tracker and wiki

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

--

Client Rendering

The choice of drawing backend has an influence on the performance, the encodings the client can support, etc.


Python / GTK Client

The main supported client is written in Python + gtk, and supports three rendering modes:

  • PixmapBacking - a standard pixmap based backing, gtk2 only.
  • CairoBacking - uses cairo surfaces for backing, required for gtk3 support.
  • GLPixmapBacking - uses OpenGL for backing, allows us to speedup rendering by using OpenGL for the colourspace conversion step needed with x264 and vpx encodings.

The GL backend should be used for non-transient windows when the encoding is set to x264 or vpx.

Java Client

The (unsupported) Java client has backends for:

  • AWT
  • Swing
  • GTK-Java

In all cases, only "jpeg" and "png" encodings are supported.

Android Client

The (unsupported) Android client has the same limitations as the Java client with which it shares most of the code.