On Tue, 15 Nov 2011 18:36:55 -0600
DRC <dcomman...@users.sourceforge.net> wrote:

> The attached spreadsheet shows the low-level performance effects of
> enabling and disabling the CUT, as well as the effect of changing its
> block size to 256 x 256 instead of the default of 16 x 16.  Tests were
> performed both with typical LAN settings (compress level=1/quality
> level=8) and WAN settings (compress level=3/quality level=1 and compress
> level=1/quality level=1.)
> 

JPEG quality level 1 is not what I'm considering a reasonable WAN
setting, so I'm not sure how realistic these numbers are. Still, I
think my conclusions are roughly the same.

> The CUT made a much larger difference in bandwidth with compress
> level=3.  In this case, even some of the 3D datasets realized some
> significant reduction in bandwidth, but the performance hit from
> enabling the CUT was larger across the board as well.

Your sheet has a bug in it so you're comparing the wrong cells. It
referenced the G column instead of the O column. The bandwidth savings
are about the same for both compression levels. This also means the CPU
overhead was exaggerated.

> 
> Here's what I would recommend for now:
> 
> (1) Change BLOCK_SIZE to 256.  This didn't seem to have any effect on
> compression ratio, and it improved performance significantly whenever
> the CUT was enabled.  Pierre, could you re-run your high-level tests to
> verify that this has no ill effects at that level, either?


I'm not surprised. I suspected the 16x16 blocks had less than ideal
cache usage. I see no problems with this change, but I'll double check
with some tests.

> 
> (2) Enable the CUT by default only when compress level > 1.  Disable it
> by default for compress level <= 1.  The compress level and quality
> level are designed precisely so that users can make such bandwidth vs.
> CPU usage trade-offs as this.  The default TigerVNC settings are
> appropriate for LAN use, in which the benefits of the CUT do not
> outweigh the performance costs.
> 

Maybe. Given your current numbers, this might make some sense. But
since the JPEG quality is unrealistically low (IMO), the numbers are
currently showing off the CUT at its worst.

This also made me take another look at the compression setting. I have
to admit I might have read through your previous report a bit too
hastily. This new one had more data though, which allowed a more
detailed analysis.

Looking at the first few tests (the "normal" applications), the
bandwidth savings of dialing up the compression is somewhere around
20%. CPU usage varies, but seems to be roughly that for every
percentage bandwidth saved, you lose the same percentage of CPU. The 3D
applications fare worse, getting generally less savings and eating more
CPU.

Given this, I'm no longer convinced that having a default compression
level of 1 is so clear cut. "Normal" usage seems to have quite a bit of
potential gain here.

> If Cendio wants the CUT always enabled for their product, then that is
> easily accomplished by modifying the vncserver startup script, which I
> assume is something they already do.

We could, but we generally would like not to. We prefer if our goals
align with the upstream projects we use. There is less friction when it
comes to long term plans that way, and having our users running
basically the same product as the project's users benefits both when it
comes to finding and fixing bugs.

>  I do not think that enabling it by
> default for the open source product is appropriate unless the user sets
> compress level > 1, indicating that they are in an environment in which
> reducing bandwidth is more likely to improve performance than reducing
> CPU usage.

And I'd argue the opposite that users should indicate that they are in
an environment where bandwidth is of little relevance and that CPU
usage should be prioritised. Bug again, this boils down to which users
we are targeting for TigerVNC.

Let's be very clear. Cendio is not looking for a direct replacement of
TurboVNC. Our hopes for TigerVNC is for it to become the standard VNC
implementation, appealing to a very broad range of users. LAN users,
including high-performance 3D users, are certainly a part of this. But
it is not our belief that they are the majority and the project should
by default be geared towards more average users. That means
applications such as Firefox and LibreOffice generally carry more
weight than Catia or Maya.

We have always had a hope that TigerVNC could replace TurboVNC, but not
necessarily out-of-box. If we cannot make the system clever enough to
work for everyone, then it is the niche users (like high performance
3D) that will have to tweak things. The average joes should just be
able to install and run. This tweaking could of course be handled by
custom packing, like "TigerVNC - VirtualGL Edition" or such. We could
also look at having the vncserver script do some magic like seeing if
VirtualGL is configured on the machine.

Working for a large user base has the best chances for a thriving
project that will attract not only users, but also developers which in
turn gives us even more resources to produce a fantastic product.


But this is just Cendio's view, which up until now we though was shared
with the rest of the project. Evidently that isn't entirely so. So I'd
like to hear from our other developers, and users, what they are hoping
to get from TigerVNC. We haven't heard anything from Adam. What are Red
Hat's goals with this project?

Rgds
-- 
Pierre Ossman            OpenSource-based Thin Client Technology
System Developer         Telephone: +46-13-21 46 00
Cendio AB                Web: http://www.cendio.com

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to