Francois Sillion (Francois.Sillion++at++imag.fr)
Fri, 10 Oct 1997 12:31:36 +0200 (MDT)
We are trying to use a second pfPipeWindows to render our scene in
an offscreen buffer (allocated as a pixel buffer). In fact we only
need to render in our offscreen area once in a while, and it is not
clear that we chose the correct approach. But this was the only
one we found that would let us tell Performer to render
our scene in the offscreen area. We thought we could avoid most of the
overhead by removing the channel associated to the "offscreen pipewindow"
when we don't need to perform this rendering (i.e. for most frames), and
re-installing it only for the relatively unfrequent cases where we
need to regenerate our offscreen view (to create textures).
-> when we need an offscreen image, we attach the channel to the PW
using pfPipeWindow::addChan. When we are done with the image
we use pfPipeWindow::removeChan.
The problem is: on our Onyx2/IR, we see a huge performance drop.
When using a single pfPipeWindow, we spend about 3 ms drawing,
when we have the second pipewindow, and *even if we don't create
a channel for it*, drawing time appears to be > 100 ms !! (all timings reported
on the on-screen stats display).
Note that I modified the draw function for the offscreen channel so
that it does nothing, to make sure I wasn't actually drawing all the
time. I am running these tests without even rendering anything offscreen.
Is there any good reason for this massive overhead?
Why does it look like there is no overhead on the O2 ?
Why is the Onyx2 slower than the O2 :-) ?
Why is there such a large latency?
latency app cull draw
Onyx2:
full functionality: 490 0.2 0.1 116.5
without pfChannel: same numbers
without 2nd pfPW: 40 0.2 0.1 3.0
O2:
full functionality: 246 0.8 0.6 106
without pfChannel: 212 0.8 0.6 98
without 2nd pfPW: 218 0.8 0.6 100
Any advice on the proper organization that would be best for running most
of the time with peak performance on-screen, and *sometimes* being
able to render using Performer in an offscreen-window? (it's OK if
that frame takes much longer) ?
Can we use our second PipeWindow, but close it and open it on demand?
Thanks in advance for your help,
+------------------+------------------------------------------------------+
| Francois SILLION | iMAGIS - GRAVIR/IMAG, B.P. 53, 38041 Grenoble Cedex 9|
| ' | France. Tel:+33 4 76 51 43 54 - Fax:+33 4 76 63 55 80|
+------------------+--------+---------------------------------------------+
| Francois.Sillion++at++imag.fr | http://www-imagis.imag.fr/~Francois.Sillion |
+---------------------------+---------------------------------------------+
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:56:04 PDT