[Spice-devel] [PATCH spice 1/3] dcc_compress_image: Handle NULL drawable
Jonathon Jongsma
jjongsma at redhat.com
Thu Jan 14 10:36:45 PST 2016
On Thu, 2016-01-14 at 12:52 -0500, Frediano Ziglio wrote:
> >
> > On Thu, 2016-01-14 at 12:07 -0500, Frediano Ziglio wrote:
> > > >
> > > > On Thu, Jan 14, 2016 at 10:27:02AM -0500, Frediano Ziglio wrote:
> > > > > Had a small discussion with Pavel.
> > > > > We agree that original code is quite complicated and is hard to
> > > > > understand
> > > > > the final compression format used.
> > > > >
> > > > > So we would like to have some public discussion about the topic.
> > > > >
> > > > > I personally agree we should have a single code deciding the
> > > > > compression
> > > > > to use.
> > > >
> > > > I definitely agree here. For one, having different compression being
> > > > used depending on whether the qxl driver is used or not is unexpected
> > > > (eg if you set image compression to glz, lz will still be used during
> > > > initial bootup, and then will 'switch' to glz later on. I haven't looked
> > > > at the code, so there might be good reasons for that).
> > > >
> > > > >
> > > > > This is the list of actual compressions:
> > > > > - AUTO_GLZ;
> > > > > - AUTO_LZ;
> > > > > - QUIC;
> > > > > - GLZ;
> > > > > - LZ;
> > > > > - LZ4.
> > > > > A client can also decide to disable compression.
> > > > >
> > > > > The AUTO_XXX looks like they should use QUIC as a fallback if XXX is
> > > > > not
> > > > > possible or if an image with high graduality is detected.
> > > >
> > > > (side question, do we have numbers on compression ratio and cpu usage
> > > > for quic/lz/glz/lz4?)
> > > >
> > >
> > > Brief and raw of a Windows replay capture
> > >
> > > Images MB before MB after Ratio CPU time
> > > LZ4 193 24.21 2.43 10.04% 0.04
> > > QUIC 204 23.11 1.66 7.18% 0.44
> > > GLZ 190 20.05 1.2 5.99% 0.14
> > > LZ 202 20.42 2.04 9.99% 0.15
> > >
> > > So why use Quic ?
> >
> > Interesting data. Indeed, QUIC seems to be the worst choice. from this data,
> > it
> > seems that you'd want GLZ if you were optimizing for network bandwidth, and
> > LZ4
> > if you're optimizing for CPU usage. Might be nice to see data for a slightly
> > larger sample as well.
> >
> > Out of curiosity, did you write a little utility for doing this benchmark,
> > or
> > did you just modify the code in-place?? Having a little benchmark utility
> > that
> > you could run on different replay captures might be a useful thing to have
> > in
> > the repository...
> >
> > Jonathon
> >
> >
>
> No code modification at all. Compile with COMPRESS_STAT enabled, run replay
> utility with SPICE_DEBUG_LEVEL=3 set at the end you see a similar table
> (I added just ratio with LibreOffice calc).
> Oh... you just need to use -C replay option with
> - 4 quic
> - 5 glz
> - 6 lz
> - 7 lz4
> (not sure about 5/6, maybe swapped).
Aha, good to know. I didn't know about this -C option
> I think would be really helpful to collect different replay captures of
> normal day job.
>
Yep, that could be quite helpful for a variety of things (though it would
require quite a bit of storage, even compressed).
More information about the Spice-devel
mailing list