当我们的mapper采样距离设置较低或者硬件性能不太好时,体渲染交互会有卡顿现象。为了提高交互时的流畅性,可以设置交互器的SetDesiredUpdateRate来降低采样率进而避免卡顿现象。
vtkNew<vtkRenderWindowInteractor> iren;
iren->SetDesiredUpdateRate(100);
当鼠标处于活动状态时,期望的渲染帧率(Desired update rate)会提高。当鼠标松开时,期望的渲染帧率会降回原来的值。也就是图像进行旋转和缩放时会执行此操作。
左图为旋转时效果,右图为停止时效果 。
注意
此功能只在vtkGPUVolumeRayCastMapper的自动采样SetAutoAdjustSampleDistances(true)开启时才会生效。
源码判断为
if (!this->AutoAdjustSampleDistances)
{
this->ReductionFactor = 1.0 / this->ImageSampleDistance;
return;
}
如果我们想关闭自动采样,设置自定义的采样距离,则需要修改源码重新编译才可使用此功能。