On Jan 29, 2007, at 2:47 PM, Sol Simpson wrote:
If your program calls buffer_swap() less than once per retrace, then the buffer_swap() is not blocked and returns right away and not necessarily at the start of a retrace. In this case you do not see a constant 1 retrace interval delay, but will instead see a variable delay between 0 and retracerate msec depending on when buffer_swap() was called.
I find this confusing. To me that sounds like correct behaviour for a syncrhonous call. Sometimes it will return right away and sometimes it will be delayed up to one retrace in time. It depends on when, in the retrace you called. If you ask for one while one is pending then you have to wait the first interval plus another.
(note, I'm not suggesting its correct that it then takes another refresh for the swap to actually occur).
====================================== The Vision Egg mailing list Archives: //www.freelists.org/archives/visionegg Website: http://www.visionegg.org/mailinglist.html