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