Re: [SLUG] Improving Xserver preformance

From: Ian Blenke (icblenke@nks.net)
Date: Mon Aug 30 2004 - 04:54:06 EDT


Robert Snyder wrote:

>Well I did get some improved preformance out of doing the following.
>
>taking down the Xserver default size on the server which is 1280 x
>1024 to 1024x768 ... Proved to have a noticeable difference. Also
>runing WindowMaker instead of defualt KDE or Gnome also help.
>Switching from multple windows ( defualt for eXceed to single window
>also helped alot
>
>
Aside from image manipulation, X11 is a low-latency very compact network
protocol. Shuffling images around the network are where it really gets
into trouble.

The biggest slowdown with X11 over the network is when dealing with
pixmap manulation. The encoding of those images across the wire are
*not* compressed (in fact, they're rather expanded from raw), and is
quite a pain at higher bitdepths. The fewer images you use with X11, the
faster network performance will appear to be.

For *fast* X11 sessions over the network, look for window managers and
applications that still use straight Xlib widget drawing *without*
pixmap based theming. Vector drawing of widgets is generally much faster
across the network than newer bulky codebases that lean heavily on
hand-drawn image eye-candy. Newer desktop environments light Gnome and
KDE are meant to be run on X servers with shared memory access from X
clients running from the same workstation.

There are "proxy" solutions to minimize the bandwidth utilitzation of X.
The first was DXPC (the Differential X Protocol Compressor), an early
hack to minimize the traffic for low bandwidth high-latency links. Back
when 9600 baud modems were the ONLY way to access a Sun box remotely
from home (back when SLIP was the rage), I have fond memories of long
DXPC sessions. Eventually, this led to the development of the LBX (Low
Bandwidth X) extension to the core X11 server (something you already
have that you probably were never aware of) - "lbxproxy" is your friend.

    http://www.vigor.nu/dxpc/
    http://www.tldp.org/HOWTO/LBX.html

These X11 compressors can be as fast or faster than VNC encodings for
low-bandwidth/high-latency connections. While RFB is extensible,
protocols like "tight" still do not benefit from the vector drawing
possible with compressed X11. From experience, only VNC "raw" appears
to be as inefficient as standard X11 when it comes to shoving images
across the wire.

There was an improved DXPC/LBX workalike called "MLView" that was out
there a while ago, but NoMachine apparently swallowed that effort and
hasn't released any GPL/BSD/X11 licensed code that I can find anywhere.

    http://www.medialogic.it/projects/mlview/

Anyone have a snapshot of that codebase, or know where it might be on
the 'net?

- Ian

-----------------------------------------------------------------------
This list is provided as an unmoderated internet service by Networked
Knowledge Systems (NKS). Views and opinions expressed in messages
posted are those of the author and do not necessarily reflect the
official policy or position of NKS or any of its employees.



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 15:46:14 EDT