[vtkusers] Multi threading question
Clinton Stimpson
clinton at elemtech.com
Thu Feb 26 10:13:16 EST 2009
How about locking/unlocking when you get the
vtkCommand::StartEvent/vtkCommand::EndEvent from the vtkRenderWindow?
Then the locking is automatic no matter where Render() was called from.
Clint
Matthias Riechmann wrote:
> I have a similar question: When triggering all rendering by yourself
> it is easy to protect VTK from concurrent access by using a mutex. But
> how can I do that when using a QVtkWidget? In this case the rendering
> might be triggered at any time from the GUI. Is there a way to do a
> synchronisation from a application programmer's view in this scenario?
>
>
> Matthias
>
>
>
>
> David E DeMarle schrieb:
>> What you are doing is correct. VTK is not thread safe, so in general
>> you have to protect against concurrent access manually as you have
>> done.
>>
>> On Mon, Feb 23, 2009 at 10:51 PM, Anton Deguet <anton.deguet at jhu.edu>
>> wrote:
>>> Hello,
>>>
>>> I have an application with one renderer and multiple actors. Each
>>> actor (assembly) is controlled by a different thread and all use a
>>> single renderer (running in its own thread). As a temporary
>>> solution, I use an application wide mutex lock/unlock for any access
>>> to VTK to avoid rendering while a thread is modifying the scene via
>>> its actor (threads can modify anything; position, size, visibility,
>>> opacity, texture, ... and other non atomic operations). It somewhat
>>> works but I am afraid one programmer might forget to lock/unlock the
>>> scene before modifying its actors and this might be hard to
>>> debug/detect. I am also slightly concerned by long waiting periods
>>> to lock the mutex as the application is growing.
>>>
>>> So, does VTK provide something better than what I am using, i.e. is
>>> there any build-in thread safety mechanism that one can use
>>> (multiple buffers, queued commands, ...) that would avoid locks.
>>>
>>> Thank you,
>>>
>>> Anton Deguet
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the VTK FAQ at:
>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>
>>
>>
>>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
More information about the vtkusers
mailing list