[vtkusers] Need to speed up stream tracing
Carsten Neumann
carsten_neumann at gmx.net
Thu May 3 16:31:42 EDT 2012
Hello,
I have a data set that contains a (fairly irregular) triangle grid, that
is constant over all time steps and velocity vectors associated with
each point that vary between time steps.
I have written a reader for the file format the data is stored in that
can provide individual time steps [1] to the pipeline (it is not
possible/desirable to load all time steps at once) as vtkPolyData.
Running vtkStreamTracer with 1000 randomly placed seed points takes too
long to interactively change time steps (~16 secs) using the default
settings of the stream tracer. Changing terminal speed to a much larger
value and limiting maximum number of steps to 100 makes no significant
difference in performance (the stream lines become too short to be
useful though ;) ).
I had suspected that a significant amount of time was spent locating the
cell a seed point is in and hoped setting
SetInterpolatorTypeToCellLocator() would help [2], but that actually
slowed things down even more (~21 secs).
I'm rather new to using vtk so it's quite possible I'm doing something
"obviously" inefficient, especially wrt. the temporal data and ensuring
that the pipeline understands that parts of it are not varying between
time steps. Does anyone have ideas what I could check or how to speed up
the stream tracing on this kind of data set?
I'm using vtk 5.8.0, on Fedora 16 x86_64, Core2 Quad 2.4 GHz, Nvidia GTX
8800.
Thank you & kind regards,
Carsten
[1] In other words the reader evaluates
vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEPS() information when
processing a data request and sets vtkDataObject::DATA_TIME_STEPS() on
the output data object.
[2] As far as I understand it using a cell locator builds a spatial data
structure to speed up finding the cells over which to interpolate the
vector data? In that case it looks as if the spatial data structure is
rebuilt for each time steps although the grid does not change, only data
point data associated with the grid points varies.
More information about the vtkusers
mailing list