[Paraview] Thanks for your help!

Chuck Atkins chuck.atkins at kitware.com
Wed Dec 28 13:16:38 EST 2016


Hi Zhang,


> It is true that previously in my case the I/O operation took most of the
> time. My files are txt files.  After received your reply, I generated a
> series of binary dataset files and had a try rendering them. I did'n record
> the exact rendering time but I can feel it was far more faster than the
> previous txt files.
>
I suspected as much.  The text output files are easier to look at since you
can open them and visually verify them but they are much more costly to
process.  Binary formats will almost always be more performant.

As I'm going to use Catalyst, I think my final large dataset could be
> rendered in an acceptable frame rate if I could set up the Catalyst
> successfully.
>
5M points is a pretty small dataset so I doubt you'd be render bound if you
can use a GPU.  A modern NVidia GPU can easily do several hundred million
triangles / sec.  Even a CPU based render can easily crank out several
million triangles per second.  Moving to 5.2 will help substantially in
render performance.  WRT parallel rendering and Catalyst, if you're code is
MPI based then you'll automatically get parallel rendering since Catalyst
runs in the same process as the simulation code.


> But I'm really a newbie and so far I have not mastered Python so that I
> have to use the paraview GUI. What I mean in the words "rendering time" is
> actually the time between when I click the "display" button on the VCR
> Controls toolbar and when all the frames are finished (Er, I measured it
> using my mobile phone...).
>
A helpful tool in thh ParaView GUI for performing timing is the "Timer Log"
feature.  To use it, open "Tools -> Timer Log", then select [Clear].  Now
do some operation and select [Refresh].  In this case, you can open the
data file, clear the timer, play the series, then refresh the timer.  You
should see something like this:

...

RenderView::Update, 2.37109 seconds

    vtkPVView::Update,  2.37103 seconds

*        Execute vtkFileSeriesReader id: 4778,  1.52852 seconds*

        Execute vtkGeometryRepresentationWithFa,  0.09836 seconds

XMLPolyDataReader::GatherInformation,  0.179643 seconds

*Still Render,  0.626876 seconds*

    OpenGL Dev Render,  0.601433 seconds

RenderView::Update,  2.3188 seconds

    vtkPVView::Update,  2.31873 seconds

*        Execute vtkFileSeriesReader id: 4778,  1.49044 seconds*

        Execute vtkGeometryRepresentationWithFa,  0.097739 seconds

XMLPolyDataReader::GatherInformation,  0.178735 seconds

*Still Render,  0.628595 seconds*

    OpenGL Dev Render,  0.603274 seconds
...


>From this you can see the vtkFileSeriesReader times, which is how long it
takes to read the data file, and the "Still Render" time, which is how long
it takes to actually render the dataset.  From this you should be able to
see the substantially improves render times in 5.2 vs 4.4

Ken is also right, however, in that parallel rendering is not likely to
help with a dataset this size.  It's worth the experiment to get it set up
to enable you to use it for larger datasets but the overhead on a single
machine may still not give you any speed up.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20161228/9786955e/attachment.html>


More information about the ParaView mailing list