[Paraview] Paraview's pipeline vs. a vtk pipeline, performance

David Marshburn marshbur at cs.unc.edu
Tue Feb 28 17:52:45 EST 2006


For a few datasets (3D image stacks) that I have, Paraview is several 
times faster when generating an isosurface than our application.  I'd like 
to be able to find out what pipeline of vtk classes Paraview constructs, 
or why the performance is so much worse with the pipeline of classes we 
put together.

In Paraview, I load a .vti file of the data (vtkXMLImageDataReader) and 
then add a contour (vtkContourFilter).  These show up in the navigation 
window at the top left in Paraview.  When I change/add an isovalue, the 
following class names appear in the status bar at the bottom:  
ContourFilter, PVGeometryfilter, PainterPolyDataMapper.  

In our application, the pipeline is as follows:
	vtkImageData -> vtkExtractVOI -> vtkImageMarchingCubes
	 -> vtkPolyDataMapper -> vtkActor
(at times, our application has had other classes in the pipeline, 
specifically TriangleFilter, Stripper and PolyDataNormals between 
ImageMarchingCubes and PolyDataMapper, but these don't change the 
performance when removed from the pipeline).

On the same dataset and with the same isovalue, Paraview takes maybe 30 
seconds to generate and display an isosurface and uses a moderate amount 
of memory.  Our application takes over 90 seconds and uses a good bit more 
memory (just by eyeballing task manager on windows).  This is with 
Paraview 2.4, and our app is in vtk 4.4.

Our application does use display lists; if i enable immediate mode 
rendering, it only saves 5-10 seconds, maybe.

Is there any way to ask Paraview, "What's your complete pipeline, from 
data set to actor?"

PVGeometryFilter is a class specific to Paraview, or I would recreate 
much of Paraview's apparent pipeline in our application.  Does anyone have 
any suggestions why our pipeline would perform so much more poorly?  Isn't 
ImageMarchingCubes the algorithm optimized for image data?

thank you for any insight!

-david


More information about the ParaView mailing list