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?