On Wed, 07 Dec 2011 04:39:40 -0600
DRC <dcomman...@users.sourceforge.net> wrote:

> 
> This is an Amdahl's Law thing.  The frame rate is capped to 1 /
> ({deferred update time} + {FBU processing time}).  Whether or not the
> FBU processing time is all CPU or some CPU and some I/O is irrelevant.
> As long as the server can't receive new X updates during that time, then
> the effect is the same.
> 

That's my point. It is very relevant if it is CPU or I/O as we can deal
with those in very different ways. If I/O is the problem, then
increasing the buffer size should make the issue go away.

> > As to a solution, the only "proper" one is to reduce the time spent
> > encoding stuff. We can't really do it in the background as we can't
> 
> No, because, per above, if we speed up processing, then the DUT delay
> will have more of a relative effect, not less.  If it takes 10 ms on
> average to process every update, then the difference between a 1 ms and
> a 10 ms DUT is a 45% throughput loss.  If it takes 100 ms on average to
> process every update, then the difference between a 1 ms and a 10 ms DUT
> is only an 8% throughput loss.

So? We don't want throughput for throughput's sake. Want we want is
sufficient throughput. Anything above that is wasting resources. As to
what is "sufficent", that's certainly up for discussion.

> > That said, perhaps we can consider treating this as a corner case and
> > dial back the aggregation when we are hitting the CPU wall.
> 
> Well, ultimately the purpose of
> aggregation/coalescence/whatever-you-want-to-call-it is increased
> performance, so I'm assuming there is data to show that 10 ms performs
> better than 1 ms under certain conditions?  I have never seen it to have
> any effect other than a negative one, either on a WAN or a LAN.  We
> really need to figure out a way to address these issues quantitatively,
> because I feel like I have a lot of data to show what does and doesn't
> work for 3D and video apps, but there is not the same data to show what
> does and doesn't work for Firefox or OpenOffice or whatever, nor a
> reproducible way to measure the effect of certain design decisions on
> such apps.

It's not just performance. The deferred updates have three purposes:

 - Aggregate updates in the hope that we'll get a more efficient
   transfer when overlapping or adjacent areas get modified.

 - Rate limit the updates to avoid spending CPU and bandwidth on
   something that will have little to no perceived effect.

 - Avoid partially updated applications by trying to get through the
   applications entire update routine before sending anything.

There has not been any thorough investigation in how well it achieves
these goals, no. I messed around with it because it was getting in the
way of my other work. I had two options at that point, remove it or fix
it according to what it was supposed to do. I did not reevaluate its
basic premise.

As for the default setting, it's mostly pulled out of my ass. The old
default of 40 ms seemed like an excessive frame rate limit. And the new
default of 1 ms (which was more of a workaround than an actual setting
given how flaky the old code was) seemed insufficient for applications
that rendered something complex.

> I will also say that LAN usage is not a corner case, and if we treat it
> as such, it will become a self-fulfilling prophesy, because no one will
> want to use TigerVNC on a LAN if it's slow.

It's not a corner case. But it is also not the most important use case.
And LAN doesn't automatically mean infinite bandwidth. In many cases it
just means low latency.

We should balance the needs, make it easier to switch settings
depending on the use case and preferably work towards a system that can
automatically reconfigure itself.

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

------------------------------------------------------------------------------
Cloud Services Checklist: Pricing and Packaging Optimization
This white paper is intended to serve as a reference, checklist and point of 
discussion for anyone considering optimizing the pricing and packaging model 
of a cloud services business. Read Now!
http://www.accelacomm.com/jaw/sfnl/114/51491232/
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to