[Spice-devel] Meaning of compression settings in qemu

John A. Sullivan III jsullivan at opensourcedevel.com
Thu Jun 16 20:25:16 PDT 2011


Hello, all.  I did take Marian's advice and peruse the qemu man page
but, after lots and lots of Internet searching and document reading, I'm
not quite clear on exactly what the compression settings mean in qemu.
This is important to us as we need to optimize for an entirely WAN based
environment.

I see we have:
image-compression=[auto_glz|auto_lz|quic|glz|lz|off]
I understand that glz uses a dictionary to reduce bandwidth consumption
and is used for artificial images and quic is used for more
photo-realistic images.  I gather this is handled by SPICE
automatically.  Does that mean the difference between auto_glz and
auto_lz is whether it chooses glz or lz (non-dictionary based) for the
artifical bitmap compression? Does choosing quic, glz, or lz mean that
is the only algorithm used and automatic selection based upon the type
of image is disabled?

Then we have:
jpeg-wan-compression=[auto|never|always]
zlib-glz-wan-compression=[auto|never|always]

I have noticed while watching stdout/stderr on the host that there does
seem to be some way that the host senses the bandwidth of the client.
So is jpeg-wan-compression to determine IF it compresses (and if so,
what is the difference between that and the above image-compression
parameter?) and zlib-glz-wan-compression to determine HOW it compresses
if it is supposed to, i.e., with lossless GLZ alone or with lossy zlib
on top of GLZ?

What is the overhead associated with simply leaving these on auto? ALL
of our users are outside of the data center but the whole point of the
organization is to be mobile.  Thus, one day, the user may be accessing
their Virtual Desktop on a PC at the end of a 100 Mbps WAN link and the
next from their netbook tethered through their cellular phone.  Thus, it
would be great to dynamically adapt but, given the overhead of adapting
and the low likelihood of someone being on a 100 Mbps WAN link, should
we just set them all to always compress as if on a low bandwidth link?

Thanks - John



More information about the Spice-devel mailing list