[Ves] VTK pipelines in VES

Pat Marion james.patrick.marion at gmail.com
Thu Sep 5 18:52:06 EDT 2013


Hi Matthias,

I just wanted to point out one consideration...  many VES based mobile apps
use multiple threads, and it can be important to separate data processing
from the rendering thread. In that case, it might be better to explicitly
update & convert data arrays instead of doing so automatically at render
time.  That way, you don't have the rendering thread accessing data objects
at the same time as data processing tasks, and you can ensure the render
thread will never block while waiting for a data update.

KiwiViewer for iOS does rendering on the main UI thread, and all data
processing is done on separate threads via grand central dispatch.  On
Android, rendering is performed on a dedicated thread, and data processing
is performed using AsyncTask objects.  The data processing tasks convert
the vtkPolyData to vesGeometryData, then the rendering thread swaps in the
newest vesGeometryData.

Of course, every app is different, so for some apps there might be no
issues at all with accessing VTK data objects at render timer.  I agree, it
is convenient to have the ability to automatically update the ves data from
the vtkPolyData, it would be a nice feature to have in VES or Kiwi, with
the ability to switch it off.  I think, with the current library
organization, the feature would have to exist in the kiwi library, since
libves has no dependency on VTK.

Pat
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/ves/attachments/20130905/710f5e7f/attachment-0001.html>


More information about the Ves mailing list