[Paraview] Can I speed up animations if my mesh structure is constant?

Takuya OSHIMA oshima at eng.niigata-u.ac.jp
Fri Oct 10 11:37:09 EDT 2008


Hi Robert,

I want the skipping PVGeometryFilter feature too. However there has
been a discussion on this August
http://www.paraview.org/pipermail/paraview/2008-August/thread.html
(search for "Caching within a class, avoiding vtkGeometryFilter")
concluding that there is no immediate solution yet.

Takuya OSHIMA, Ph.D.
Faculty of Engineering, Niigata University
8050 Ikarashi-Ninocho, Nishi-ku, Niigata, 950-2181, JAPAN


From: Robert Blake <rblake at jhu.edu>
Subject: [Paraview] Can I speed up animations if my mesh structure is constant?
Date: Thu, 9 Oct 2008 18:43:29 -0400

> Is there a way to speed up Paraview when visualizing animate-able  
> point data over a constant unstructured grid?  I've written a simple  
> unstructured grid algorithm with the animate-able integer value XXX:
> 
> int vtkFakeDataAlgo::RequestData(
>    vtkInformation *,
>    vtkInformationVector **inputVector,
>    vtkInformationVector *outputVector)
> {
>    vtkUnstructuredGrid *in  = GetGrid(inputVector[0]);
>    vtkUnstructuredGrid *out = GetGrid(outputVector);
> 
>    out->ShallowCopy(in);
> 
>    vtkIdType N = out->GetNumberOfPoints();
> 
>    vtkFloatArray *data = vtkFloatArray::New();
>    data->SetNumberOfComponents(1);
>    data->SetNumberOfTuples(N);
>    data->SetName( "FakeData" );
> 
>    float* ptr = data->GetPointer(0);
>    for(vtkIdType ii=0; ii<N; ii++) {
>      ptr[(ii+500*XXX)%N] = ii;
>    }
> 
>    out->GetPointData()->AddArray(data);
>    out->GetPointData()->SetActiveAttribute("FakeData",  
> vtkDataSetAttributes::SCALARS );
>    data->Delete();
> 
>    return 1;
> }
> 
> To test this code, I set up the following pipeline:
>   - Read in an unstructured grid
>   - Attach this filter
> 
> I'm running this code on a ~4 million node mesh I have.   
> PVGeometryFilter shows me a progress bar in the bottom every time I  
> update XXX.  Due to the size of the mesh, this PVGeometryFilter step  
> takes 5-6 seconds, which in turn makes the animation unbearably  
> slow.  Is there a better way to write this filter?  I assume that  
> PVGeometryFilter is re-calculating the surface of my unstructured  
> mesh every time I update XXX.  Is this true?  If so, how can I avoid  
> this recalculation?
> 
> ----
> 
> I created this fake algorithm as a test.  I have time varying data on  
> a 4 million node mesh and a 33 GBs of time-varying point data.  The  
> node locations and connectivity are constant throughout the  
> simulation.  I've had two problems visualizing this in Paraview:
>   - Based on my understanding of http://paraview.org/Wiki/Talk:VTK/ 
> Time_Support, my data set is too large to read in all at once as a  
> TemporalDataSet.  Therefore I have to revert to this hacky approach  
> in order to add data arrays to a constant mesh.  Did I understand the  
> above page correctly?
> - Every time I change the data array, Paraview has to think for 5-6  
> seconds.  However, I can get real-time visualization if I code things  
> by hand using raw vtk.  I hate to roll my own visualization software  
> though when Paraview has already coded all the Qt widgets.
> 
> Thanks for any guidance you can give me,
> Rob
> _______________________________________________
> ParaView mailing list
> ParaView at paraview.org
> http://www.paraview.org/mailman/listinfo/paraview


More information about the ParaView mailing list