[IGSTK-Users] Threaded IGSTK views with Qt

Cheng, Patrick PCheng at childrensnational.org
Tue Jan 17 10:53:46 EST 2012


Hi Alo,

 

This VTK mailing list thread might help:

http://vtk.1045678.n5.nabble.com/rendering-into-a-render-window-from-multiple-threads-td2902372.html

 

Patrick

 

From: igstk-users-bounces at public.kitware.com [mailto:igstk-users-bounces at public.kitware.com] On Behalf Of Alo Mihkelson
Sent: Tuesday, January 17, 2012 6:04 AM
To: igstk-users
Subject: Re: [IGSTK-Users] Threaded IGSTK views with Qt

 

Thanks for the reply,

On our initial attempts using QThread (Qt's threading system) we ran into problems with the OpenGL context switching between threads 
(wglMakeCurrent errors).

And based on some quick research, the underlying VTK library is not thread-safe so it seems like there would be some additional complexity involved from dealing with locking/mutexes when accessing the renderer from multiple threads.

I'm wondering if I'm on the right path here and if anyone has run into similar problems related to rendering and even general GUI responsiveness and how you've solved them in your IGS applications.

Cheers, Alo

 

________________________________

From: "Cheng, Patrick" <PCheng at childrensnational.org>
To: Alo Mihkelson <alo_m1 at yahoo.com>; igstk-users at public.kitware.com 
Sent: Thursday, January 12, 2012 6:58 PM
Subject: RE: [IGSTK-Users] Threaded IGSTK views with Qt





Hi Alo,

 

You could consider doing it the other way around: spin off your resource intensive computation into a separate thread.

 

Take a look at igstkTracker class where we use ITK thread to create a separate thread to interact with the physical tracker.

 

itk::MultiThreader::Pointer     m_Threader;

m_Threader = itk::MultiThreader::New();

 

m_ThreadID = m_Threader->SpawnThread( TrackingThreadFunction, this );

 

ITK_THREAD_RETURN_TYPE Tracker::TrackingThreadFunction(void* pInfoStruct)

  { 

  ….

  }

 

Hope this helps,

 

Patrick

 

From: igstk-users-bounces at public.kitware.com [mailto:igstk-users-bounces at public.kitware.com] On Behalf Of Alo Mihkelson
Sent: Thursday, January 12, 2012 5:28 AM
To: igstk-users at public.kitware.com
Subject: [IGSTK-Users] Threaded IGSTK views with Qt

 

We're using IGSTK with Qt and would like to move the view rendering to a separate thread to avoid GUI slowdowns while rendering resource intensive (low-FPS) scenes. Is there a way to move the views/rendering out of the main Qt thread?

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/igstk-users/attachments/20120117/1d67f496/attachment.html>


More information about the IGSTK-Users mailing list