On 11/16/11 5:25 AM, Pierre Ossman wrote:
> 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.

Well, then, what are you considering to be appropriate WAN settings?
When my users connect over a 5 Mbps link, they will typically dial down
the quality in TurboVNC to the "Low-Quality JPEG" preset and then use
automatic lossless refresh to send a lossless image during periods of
inactivity.  This is the only way to get interactive frame rates with 3D
applications over such a connection.


> 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.

Sorry about that.  So ignore my comments regarding CL=3.  The relative
B/W and speedup were not far off from the CL=1 tests.


> 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.

I don't know how you justify that statement.  I tested both a
low-quality and high-quality JPEG scenario and reported both.


> 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.

Here are the relative compression ratios and speedups for the 2D
datasets when moving from CL=1 to CL=2 (I will add these numbers to the
next iteration of the spreadsheet):
bugzilla:       -6.1% CR, -1.1% speedup
compilation:    -19% CR, 3.1% speedup
bars:           -1.6% CR, -8.1% speedup
kde-hearts-16:  -0.46% CR, -2.2% speedup
freshmeat:      -4.9% CR, -4.3% speedup
slashdot:       -6.7% CR, -25% speedup
photos:         -0.63% CR, 4.9% speedup
kde-hearts-24:  -0.39% CR, -3.3% speedup

The 3D apps almost always suffer a much worse speedup (in the range of
10-20%) with very little gain in compression ratio.  CL=1 is definitely
the most "efficient" compression level in terms of CPU usage.


> 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'm trying hard not to laugh.  Let's be realistic-- besides Cendio,
Brian and I are the only ones doing any significant development in
recent months.  Thus, I'm not sure we really have an "upstream project"
here.  It seems like the project goals are largely what Cendio wants
them to be, and friction arises whenever someone (usually me) disagrees
with that.


> 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.

Yes, you should talk to your marketing department about this, since they
are the ones who hired me to make TigerVNC into a TurboVNC replacement.
 If that was never the goal, then I need to reset my expectations
regarding this project.


> 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

Again, talk to your marketing department, as I was told otherwise.  If
you aren't looking to replace TurboVNC, then the question becomes
whether it is best for The VirtualGL Project to work within the confines
of the TigerVNC Project or whether I should just move forward within my
own project.  I don't want to invest any more significant time in a
project that will ultimately be moving in a direction that is not
aligned with the goal of achieving peak performance for 3D apps.


> 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.

I don't believe that there are generally one "golden" set of
configuration parameters that can make everyone happy, which is why we
have knobs that users can tweak.  Ideally, some of this stuff should be
set automatically based on the network conditions, but we don't have
that technology yet, so the default settings will either be LAN-friendly
or WAN-friendly.  I don't think they can be both.

If you're more interested in Firefox and LibreOffice, then why did you
hire me to re-factor the Tight Encoder to make it behave like TurboVNC?
 It goes without saying that this re-design was targeted more toward 3D
and video apps and may have sacrificed some "tightness" for 2D apps.
There is always a balance that has to be struck.  You can throw every
trick in the book at reducing bandwidth, but ultimately you use so much
CPU time that your performance is down to 1 Megapixel/second and is no
longer bandwidth-limited anyhow.  Then there is the opposite approach:
throwing every trick in the book at increasing performance, but
ultimately you use so much bandwidth that your performance is no longer
CPU-limited, even on a gigabit network.  I struck an appropriate balance
for the types of apps I care about, but if that differs from the types
of apps Cendio cares about, then you guys would need to repeat the
analysis using session captures that are more reflective of what you
think your users will be doing.

I was hired to make TigerVNC an out-of-the-box replacement for TurboVNC,
so that's what I've been trying to do since July.  If that was never a
goal, then Cendio really needs to reset and figure out what you guys want.


> 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.

My goals are a direct out-of-box replacement for TurboVNC.  I would hope
we can come to a solution that achieves that goal while still
maintaining the goal of making TigerVNC a general-purpose VNC solution.
 If we can't, then my best path forward is a "VirtualGL edition", as you
suggested above, but whether or not that product is best built using the
TigerVNC code base or by using a hybrid of TigerVNC and TurboVNC
technologies remains to be seen.  Some of the features in TigerVNC--
such as the ability to build with multiple X server code bases-- require
a lot of time to support but are completely irrelevant to my market.

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to