# Improving Interaction and LOD Performance in vtkSmartVolumeMapper for Large Datasets

**URL:** https://discourse.vtk.org/t/improving-interaction-and-lod-performance-in-vtksmartvolumemapper-for-large-datasets/16348
**Category:** Support
**Tags:** code
**Created:** [March 21, 2026, 5:37pm UTC](https://discourse.vtk.org/t/improving-interaction-and-lod-performance-in-vtksmartvolumemapper-for-large-datasets/16348 "2026-03-21T17:37:29Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Manjunath\_AV](https://discourse.vtk.org/user_avatar/discourse.vtk.org/manjunath_av/32/9403_2.png) [@Manjunath\_AV](https://discourse.vtk.org/u/Manjunath_AV)
#### Post date: [March 21, 2026, 5:37pm UTC](https://discourse.vtk.org/t/improving-interaction-and-lod-performance-in-vtksmartvolumemapper-for-large-datasets/16348/1 "2026-03-21T17:37:29Z")

</div>

I’m experiencing performance issues with **vtkSmartVolumeMapper** when loading around **2000 slices** , even on a high‑end GPU like the **NVIDIA RTX 4000 Ada**. During interaction, the mapper takes noticeable time to reduce the LOD (Level of Detail) when the mouse is pressed, and then again takes time to return to high quality when the mouse is released. Rotation, panning, and zooming work, but they don’t feel completely smooth.

Additionally, the application briefly hangs if the user releases the mouse and immediately starts interacting again.

I’ve been advised to try enabling or adjusting the following options to improve performance:

- `UseAdaptiveStepWidth`

- `UseCaching`

- `SetMaximumSampleDistanceFactor`

- `UseIgnoreValue`

**How can I best optimize vtkSmartVolumeMapper to achieve maximum performance with large (2k‑slice) volume datasets? Are there additional techniques or recommended settings to improve interactivity and reduce LOD switching delays?**

---

<div class="post-metadata">

### Author: ![Paulo\_Carvalho](https://discourse.vtk.org/user_avatar/discourse.vtk.org/paulo_carvalho/32/370_2.png) [@Paulo\_Carvalho](https://discourse.vtk.org/u/Paulo_Carvalho)
#### Post date: [March 21, 2026, 9:49pm UTC](https://discourse.vtk.org/t/improving-interaction-and-lod-performance-in-vtksmartvolumemapper-for-large-datasets/16348/2 "2026-03-21T21:49:59Z")

</div>

Hello,

What is the resolution of the slices? 1024x1024? 2k x 2k?

best,

PC

---

<div class="post-metadata">

### Author: ![Manjunath\_AV](https://discourse.vtk.org/user_avatar/discourse.vtk.org/manjunath_av/32/9403_2.png) [@Manjunath\_AV](https://discourse.vtk.org/u/Manjunath_AV)
#### Post date: [March 22, 2026, 8:13am UTC](https://discourse.vtk.org/t/improving-interaction-and-lod-performance-in-vtksmartvolumemapper-for-large-datasets/16348/4 "2026-03-22T08:13:58Z")

</div>

Thanks for the reply, and the details of the study  
Image Resolution:  
512 × 512 pixels per slice  
Physical Spacing:  
Pixel Spacing: 0.708 × 0.708 mm (in-plane resolution)  
Slice Thickness: 0.5 mm (between slices)  
Additional Information:  
Total Number of Slices: 2,151 slices  
Modality: CT (Computed Tomography)  
Series Description: VASCULAIRE 0.5 CE (Vascular CT with contrast enhancement)

---

<div class="post-metadata">

### Author: ![Paulo\_Carvalho](https://discourse.vtk.org/user_avatar/discourse.vtk.org/paulo_carvalho/32/370_2.png) [@Paulo\_Carvalho](https://discourse.vtk.org/u/Paulo_Carvalho)
#### Post date: [March 23, 2026, 1:29pm UTC](https://discourse.vtk.org/t/improving-interaction-and-lod-performance-in-vtksmartvolumemapper-for-large-datasets/16348/5 "2026-03-23T13:29:38Z")

</div>

Hello,

Maybe you could experiment with the several `vtkSmartVolumeMapper::SetRequestedRenderMode*()` methods to find out which mapper best suits your need: [VTK: vtkSmartVolumeMapper Class Reference](https://vtk.org/doc/nightly/html/classvtkSmartVolumeMapper.html#a84b57fd648da255337526487e580c1e3)

Alternativelly, you could try a simpler pipeline, whithout LOD. Of course, sending ~2GB to the graphics card would take some time, but it would be done once. That volume should fit comfortably in the card’s 20GB (supposing the volume has just a single 32-bit floating point scalar).

best,

PC

---

<div class="post-metadata">

### Author: ![Manjunath\_AV](https://discourse.vtk.org/user_avatar/discourse.vtk.org/manjunath_av/32/9403_2.png) [@Manjunath\_AV](https://discourse.vtk.org/u/Manjunath_AV)
#### Post date: [March 24, 2026, 7:25pm UTC](https://discourse.vtk.org/t/improving-interaction-and-lod-performance-in-vtksmartvolumemapper-for-large-datasets/16348/6 "2026-03-24T19:25:19Z")

</div>

I’m using GPU volume rendering because I have an NVIDIA RTX 4000 Ada card. I’m working with `vtkOpenGLGPUVolumeMapper`, and the rendering itself works correctly. I’ve also enabled adaptive rendering similar to 3D Slicer:

**gpuMapper-\>SetAutoAdjustSampleDistances(true);**

**gpuMapper-\>SetLockSampleDistanceToInputSpacing(false);**

**gpuMapper-\>SetUseJittering(true);**

**gpuMapper-\>SetSampleDistance(gpuDisplayNode-\>GetSampleDistance());**

**gpuMapper-\>SetMaxMemoryInBytes(this-\>GetMaxMemoryInBytes(gpuDisplayNode));**

However, even with these settings, I still can’t achieve smooth rotation or a faster rendering rate.

---

<div class="post-metadata">

### Author: ![Paulo\_Carvalho](https://discourse.vtk.org/user_avatar/discourse.vtk.org/paulo_carvalho/32/370_2.png) [@Paulo\_Carvalho](https://discourse.vtk.org/u/Paulo_Carvalho)
#### Post date: [March 25, 2026, 1:14pm UTC](https://discourse.vtk.org/t/improving-interaction-and-lod-performance-in-vtksmartvolumemapper-for-large-datasets/16348/7 "2026-03-25T13:14:46Z")

</div>

Hi,

Have you experimented with the several `vtkSmartVolumeMapper::SetRequestedRenderMode*()` methods? Which where the results?

best,

PC
