Allan Schaffer (aschaffe++at++shark.paris.sgi.com)
Thu, 2 Mar 1995 19:54:36 +0100
Even though some CPUs may be sitting idle I suggest that you should
choose the 1-pipe multiple-channels option.
In short -- real-time performance can only be guaranteed if you have
one window rendering per pipe.
(much) Longer..
Each pfPipe corresponds to a GL window, which internally contain a
lot of state information that is tracked by the graphics hardware.
Things like the matrix stack, current texture, lighting model, and so
on.
If you were to have more than 1 pfPipe rendering to the same hardware
pipeline, the (hardware) graphics pipe would have to switch back &
forth between each GL window's context several hundred times per
second. This is horribly inefficient, AND more importantly there's
no way to guarantee real-time performance when this activity is going
on.
This is why the Performer FAQ recommends that it is necessary to kill
or block any other graphics processes while you are running your
performer application. If they wake up and draw something, the
graphics pipe will tell your program to block while all the necessary
context switching occurs & the other program is taken care of.
Note this happens even if your application is locked down to a
particular processor -- the graphics pipeline is the ultimate
arbiter, so to speak.
Allan
-- Allan Schaffer Silicon Graphics aschaffe++at++sgi.com http://reality.sgi.com/employees/aschaffe
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:51:02 PDT