On 6/4/12 6:30 AM, Pierre Ossman wrote:
>> However, I haven't examined the code
>> closely to see why that timer is there.  What seems to happen is that,
>> whenever a rectangle is damaged, it triggers a timeout, and if the
>> rectangle isn't drawn within 1/2 second, it gets drawn anyway, so if the
>> frame is really slow to transmit, it will not be double buffered.
> 
> The idea is to make sure that the viewer doesn't appear "hung" if the
> update is taking too long to come in. Tearing isn't nice, but locking
> up is worse.
> 
> That said, the timeout could possibly be increased further. It just
> needs to be small enough to avoid users getting impatient and
> clicking/typing again, thinking the first attempt didn't really take.

That depends on what type of app you're using.  You have to remember
that what qualifies as an update will vary from app to app.  I have
never seen an update take so long that the user would actually suspect
that the viewer was hung, but even if that happened, it would only occur
on a full-screen update.  Full-screen updates are typically not going to
happen except in video and 3D apps, and for those apps, the user is
likely to prefer that the updates be drawn in tact.

At minimum, I think you need to add a "double buffering" parameter
which, when enabled, will cause the viewer to strictly wait until the
end of the framebuffer update before repainting.  We're not just talking
about tearing.  We're taking about ugly black rectangles that appear in
the middle of the video or the 3D scene as it is animating.  Regardless,
though, the point is that the FLTK viewer cannot claim to support double
buffering at the moment.  It would be very easy to make it do so (a new
parameter and a one-line code change.)  Personally, I think the new
parameter should be enabled by default, but if history is any
indication, you're likely to disagree.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to