Re: multiprocessing/ multibuffering ???

New Message Reply Date view Thread view Subject view Author view

Jim Helman (jimh++at++surreal)
Fri, 22 Apr 94 09:24:27 -0700


"Multibuffering" refers to maintaining multiple copies of an object
or its attributes for the different stages in Performer's software
pipeline. When Performer runs multiprocessed, the scene graph is
multibuffered with the APP, ISECT and each pfPipe's CULL process
having its own copy of each scene graph node. Updates propagate
frame-accurately from the APP stage of the pipeline. Each frame,
all changes to the scene graph (e.g. - a change to a DCS matrix or
to the scene graph topology) are copied from the APP by the ISECT
and CULL processes.

Dynamic geometry also requires multibuffering for frame-accuracy
and to avoid data collisions. Performer does not internally
multibuffer pfGeoSets because in most databases the majority of the
geometry is static and keeping extra copies of geometry would waste
a lot of memory. The next major release of Performer will have
intrinsic support for multibuffered geometry and morphing. Until
then, you can multibuffer geometry yourself in Performer 1.X using
a switch node with multiple pfGeodes and pfGeoSets underneath it.
Just set the switch value appropriately each frame and modify the
corresponding geometry in the APP process.

rgds,

-jim helman

jimh++at++surreal.asd.sgi.com
415/390-1151


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:15 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.