Protocol compression

Harco de Hilster harcoh "at"
Fri, 13 Mar 1998 08:27:27 +0000

Edward Avis wrote:

> Using data compression in VNC is a good idea, but it will not always
> improve performance.  If the performance is CPU bound rather than network
> bound, it would actually slow things down.  Also, compression may already
> be performed by the network (for example, compressing modems).

Sure. That's why the protocol should be extended to enable/disable compressionor change the compression level (speed vs. better).
There is also the matter of increased memory consumption, especially on the client.
Taken from zconf.h

/* The memory requirements for deflate are (in bytes):
            (1 << (windowBits+2)) +  (1 << (memLevel+9))
 that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
 plus a few kilobytes for small objects. For example, if you want to reduce
 the default memory requirements from 256K to 128K, compile with
 Of course this will generally degrade compression (there's no free lunch).

   The memory requirements for inflate are (in bytes) 1 << windowBits
 that is, 32K for windowBits=15 (default value) plus a few kilobytes
 for small objects.

> However, for many people, especially those using VNC over the Net, it would
> be very useful.  But instead of using zlib, take a look at lzo, which is
> faster and hence more suitable for real-time applications like VNC.

LZO does not have a java flavor. For us the java client is very important, and zlibis part of the JDK 1.1 as a native library.



Harco de Hilster  CAOS/CAMM Center       Phone:  +31(0)24-3653379
Research &        University of Nijmegen Fax:    +31(0)24-3652977
      Development Toernooiveld 1         E-mail: harcoh "at"
System Management 6525 ED Nijmegen       URL:
                  The Netherlands