From: Allan Schaffer (allan++at++sgi.com)
Date: 04/04/2001 14:26:46
On Apr 2, 10:49am, Lee Marden wrote:
> I'm having graphics stress related issues with my application on this
> 3 pipe (6 channel) system. My understanding is that if the
> pipes/channels are not synchronized correctly, then delays can be
> introduced in the rendering process. Since both perfly and my app issue
> this "No Genlock" warning, I thought that maybe my throughput issues
> might be related.
Let me expand a bit on the details:
Item 1) The PFCHAN_SWAPBUFFERS token for pfChanShare() (specified by
default) will cause all channels to swap buffers at the same time,
even when the channels are on multiple pfPipes.
Item 2) Performer will wait for the 'last' pfPipe to finish rendering
& swap before beginning the next frame.
Item 3) The next frame will start in phase with pipe 0.
So, imagine if the pipes are out of phase with each other: say pipe
1 is 3ms "behind" pipe 0. At a certain point each frame Pipe 0 will
finish its swap and be ready to start a new frame, but Performer will
still be waiting 3ms for pipe 1 to finish also. Performer will then
wait for pipe 0 to get to the _next_ frame boundary before starting
the next frame. That's correct behavior, but you'll be dropping
frames.
So the long & short of it, it's important to genlock (or otherwise
phase-synchronize) the graphics pipes when running in a multi-pipe
config. That's why those urgent-looking warnings appear..
Allan
-- Allan Schaffer allan++at++sgi.com Silicon Graphics http://reality.sgi.com/allan
This archive was generated by hypermail 2b29 : Wed Apr 04 2001 - 14:27:13 PDT