Moshe Nissim (moshe++at++orad.co.il)
Sun, 28 Mar 1999 12:18:34 +0200
> Hi,
>
> I stumbled across a bug in IRIX 6.5 last week. I think that you
> experience the same bug. Are you running IRIX 6.5 ?
> Assuming you do, the bug is in sginap() call. sginap(1) should sleep for
>
> 10 milisec. On 6.5, it will sleep for 20 !
> Performer uses sginap(1) if you are running on a rate lower than the
> display rate (i.e. running at 30 Hz). After your channel draw function
> is done, it will take the time, and use a couple of sginap(1)s to sleep
> until almost the end of the frame.
Beside the sad fact that sginap() behaves this way on 6.5, why does Performer
use this technique of sginap() loop at all?
The OpenGL call glXWaitVideoSyncSGI() was constructed in such a way
that it can wait not just simply for the next vertical retrace. From its man:
glXWaitVideoSyncSGI puts the calling process to sleep until
the value of the vertical retrace counter modulo divisor
equals remainder.
Wouldn't this be a better way to accomplish PFPHASE_LOCK ?
-- Moshe Nissim, Orad Hi-Tec Systems Tel: (972) - 9 - 7676862 (ext. 579) Fax: (972) - 9 - 7676861 Email: moshe++at++orad.co.il
This archive was generated by hypermail 2.0b2 on Sun Mar 28 1999 - 02:14:52 PST