[vtkusers] Large number of actors
Clinton Stimpson
clinton at elemtech.com
Wed Jun 8 15:11:04 EDT 2011
On Wednesday, June 08, 2011 01:00:48 pm Nicolas Rannou wrote:
> Hi all,
>
> Our application requires to render up to 5000x1000 PolyDatas.
> Each polydata is made of 500 triangles.
>
> It looks like it is impossible to store all the related actors in memory
> (on a machine with 48Gb RAM).
>
> We have been playing around with things such as "vtkStripper",
> "ImmediateRendering", "ReleaseDataFlag", "BackFaceCulling", etc.
>
> For 1000 PolyDatas:
>
> The best option in term of memory looks like turning "ImmediateRendering"
> ON. -> 1000 actors
> -> 60 Mb of memory usage
> -> slow interaction
>
> The best option in term of interaction seems to be using the following
> pipeline: vtkPolyData->vtkStripper->vtkAppend->vtkMapper->vtkActor
> ->1 actor
> -> 90mo in memory
> -> good interaction
>
> Using only one actor is not an option for us since we want to be able to
> pick and change properties of each object (individually).
>
> Would somebody have any advise?
In this situation, I think you can get both interaction speed and memory
savings by putting your many vtkPolyData objects into a vtkMultiBlockDataSet
and rendering that with an actor or a few actors.
You could put some properties, such as colors, in the vtkPolyData instead of
the vtkActor. And for other properties, you could use the same actor/mapper
for those objects that share the properties. Or perhaps use vtkPainter to
customize rendering of these objects.
--
Clinton Stimpson
Elemental Technologies, Inc
Computational Simulation Software, LLC
www.csimsoft.com
More information about the vtkusers
mailing list