Up: SGI performer Frequently Asked Questions (FAQ)
Next: -17- Which rendering primitives does IRIS Performer support?
Previous: -15- How do I overlay graphics on top of my Performer scene?
Subject: -16- What is the difference between phases FREE, FLOAT, and
LOCK?
Date: 26 Oct 1993 00:00:01 EST
PFPHASE_FREE_RUN wakes the application and draw processes up on the
next video field boundary after the draw finishes. i.e. it's
Performer's version of the usual run as-fast-as-I-can or
as-slow-as-I-must mode that most simple graphics programs use.
PFPHASE_FLOAT wakes the application up only on frame boundaries,
i.e. time = n*(1/frame_rate). However, the draw process "floats"
with respect to the frame rate and wakes up on the next possible
field boundary and then does a swapbuffers() when it's done,
regardless of whether it finished drawing in time for the desired
frame rate. Hence you see every frame that's drawn to the
backbuffer, but it may not appear at exactly the time for which it
was planned. If you never frame extend, it behaves like
PFPHASE_FIXED. Latency is variable.
PFPHASE_LOCK wakes the application and draw up only on frame
boundaries and only swaps on frame boundaries. The advantage is that
each new image always appears at precisely the time for which it was
rendered. The disadvantage is that if the draw runs even slightly
over a frame time, you skip that entire frame and are stuck with an
outdated picture for a frame. Latency is fixed.
For more information see the pfPhase() man page or section 7.1.2 of
the PFPG.
Up: SGI performer Frequently Asked Questions (FAQ)
Next: -17- Which rendering primitives does IRIS Performer support?
Previous: -15- How do I overlay graphics on top of my Performer scene?