Hello mitk-users,

I have a fairly general question about rendering performance and how I can
improve/debug in my application. My application has 4 render windows:

 - Two 3D renderers, each showing a different 2D image in space that I have
correctly positioned/oriented based on known geometry information for each
2D image. My vtkCamera for each renderer is also positioned/oriented using
known geometry information (basically directly facing the image with view
angle such that the image fills up the viewport). The images are about 1k x
1k pixels. Also visible in these views is a semi-opaque mitk::Surface
created from a vtkCuboid that is navigated
using mitk::NavigationDataObjectVisualizationFilter
- A 2D renderer showing slices of a 3D volume (about 300x300x300
resolution). The slices are controlled by mitk::NavigationData.
- A vtkImageViewer2 showing 2D images from a vtkVideoSource (about 400x600
pixels)

To work around some issues I was having I ended up using three separate
DataStorages - one for each renderer. (but no node data is duplicated).

Also to get my 2D image to show up in the 3D renderer, ended up using this
hack:

   // FIXME: this is just quick hack for getting a 2D plane in the 3D
render window.
   // Don't actually want to see this view - were just using it for it's
   // CurrentWorldGeometry2DNode
   QmitkSliceWidget *slicerKludge = new QmitkSliceWidget(subWidget1);
   slicerKludge->hide();
   slicerKludge->SetDataStorage(m_DataStorage1);
   slicerKludg->SetData(m_2DImageNode1,
mitk::SliceNavigationController::Axial);
   geometry2DNode =
slicerKludgeAP->GetRenderer()->GetCurrentWorldGeometry2DNode();
   m_APDataStorage->Add(geometry2DNode);

I use a 8 Hz QTimer to update the three MITK renders and a a 30Hz QTimer to
grab images from the vtkVideoSource and update the vtkImageViewer2. The
30Hz video works fine when I don't have the other three MITK renderers, but
as I add/enable each of the other renders, the FPS of the video render
drops until I get to about 10 FPS with all three MITK renderers running.

I've tried building against MITK v2013.03 and master (as of yesterday) -
both with exhibiting about the same performance.

I'm running with a Nvidia GeForce GTX 680 graphics card, Core i7 @3.4GHz
CPU. Watching my CPU resource usage while the application runs shows the
processor usage in the 5-10% range.

Any advice or strategies for diagnosing and improving the performance I'm
seeing would be greatly appreciated. Maybe there are some experimental MITK
branches with performance improvements?

Thanks,
Taylor
------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent 
caught up. So what steps can you take to put your SQL databases under 
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to