volumeOptimize(...) Question

New Message Reply Date view Thread view Subject view Author view

Sean Spicer (spicer@bme.stanford.edu)
Wed, 7 Jul 1999 08:50:32 -0700 (PDT)


Robert, Chikai, Others,

Would I be correct in assuming that calling:

voAppearanceActions::volumeOptimize(aVolume -> aBrickSetCollection,
                                    aVolume -> OptimizeVolumeType);

where "aVolume" was allocated in shared memory will cause a copy of the
volume to be created local to the calling process. (Assuming that the
calling process is different than that which allocated aVolume)?

Here's the scenario: CAVE application...4 Pipes.

I allocate a data structure containing the volume data, and all its
associated components in shared memory from a single root process. I then
fork 4 display processes (one for each gfx pipe) which have access to the
shared data, and which create the gfx contexts. (I have no way of
controlling the fact that the gfx contexts are created AFTER the processes
are forked.) Each process then creates it's own lookup table, and calls
volumeOptimize(...). Other than the fact that the lookup tables don't
seem to work, I get a HUGE memory bloat which looks to me like each pipe
has allocated it's own copy of the volume. If this is going to be the
case, then there's really no point in trying to keep the volume in shared
memory -- which seems like an inefficient solution.

I guess my biggest question is which pieces of the volume can remain in
shared memory and which must be pipe-local? (Assuming that the pipes
cannot share polygon sets) Here's my guess:

Shared
------
o BrickSetCollection
o TetraSet
o VertexData

Pipe-local
----------
o PolygonSetArray
o LookupTable

Maybe volumeOptimize(...) can be called BEFORE the gfx context has been
created? Or perhaps there's some reason why the BrickSetCollection
must be pipe-local as well?

Any help much appreciated :)

sean

______________________________________________________________________________
Sean Spicer Stanford University Medical Center
Biomechanical Engineering Division of Vascular Surgery, Suite H3642
Cardiovascular Biomechanics Lab Stanford CA, 94305
                                     Telephone...650.723.1695
                                       Fax.........650.723.8762

                http://solvedeath.stanford.edu/~spicer


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Nov 01 1999 - 14:11:13 PST