Protocol compression

Harco de Hilster harcoh "at" caos.kun.nl
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
     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
 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.
>
> http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html
>

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.

Regards,

Harco

--
-----------------+----------------------+------------------------------
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" caos.kun.nl
System Management 6525 ED Nijmegen       URL:    http://www.caos.kun.nl
                  The Netherlands
-----------------+----------------------+------------------------------