# View manipulation in a native VTK window is slower than Paraview

**URL:** https://discourse.vtk.org/t/view-manipulation-in-a-native-vtk-window-is-slower-than-paraview/16056
**Category:** Support
**Tags:** performance, graphics
**Created:** [September 23, 2025, 8:22pm UTC](https://discourse.vtk.org/t/view-manipulation-in-a-native-vtk-window-is-slower-than-paraview/16056 "2025-09-23T20:22:42Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![scotsman60](https://discourse.vtk.org/user_avatar/discourse.vtk.org/scotsman60/32/6000_2.png) [@scotsman60](https://discourse.vtk.org/u/scotsman60)
#### Post date: [September 23, 2025, 8:22pm UTC](https://discourse.vtk.org/t/view-manipulation-in-a-native-vtk-window-is-slower-than-paraview/16056/1 "2025-09-23T20:22:42Z")

</div>

Hello!!!

I’m using VTK 9.5 and Paraview on Windows 11

I have noticed that manipulating the view of an object (Zoom, Pan, Rotate) in a native VTKRenderWindow on Windows is considerably slower than doing the same operations on the same model in Paraview.

I don’t have objective numbers but it’s _ **VERY** _ visually obvious. Instantaneous and very smooth in Paraview, laggy and slow in VTK.

I’ve attached the sample file I’m using - it’s a sphere with a 5,000 by 5,000 resolution and edge diaply disabled. In Paraview, I create the same thing using a SphereSource and adjusting the resoution to match.

Can anyone suggest why I might be seeing this performance differential?

[test\_sphere.py](https://discourse.vtk.org/uploads/short-url/6EgmTt12aQWvM3Aq813bqHy3cPC.py) (3.0 KB)

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [September 23, 2025, 8:27pm UTC](https://discourse.vtk.org/t/view-manipulation-in-a-native-vtk-window-is-slower-than-paraview/16056/2 "2025-09-23T20:27:54Z")

</div>

Hello @scotsman60

ParaView is smart to dynamically reduce the number of polygons of the mesh while interacting with the 3D view.

To do this in VTK, I suggest looking at [VTK: vtkLODActor Class Reference](https://vtk.org/doc/nightly/html/classvtkLODActor.html) and seeing how you might integrate it within your application. There are also some examples in the link I shared.

---

<div class="post-metadata">

### Author: ![scotsman60](https://discourse.vtk.org/user_avatar/discourse.vtk.org/scotsman60/32/6000_2.png) [@scotsman60](https://discourse.vtk.org/u/scotsman60)
#### Post date: [September 23, 2025, 9:03pm UTC](https://discourse.vtk.org/t/view-manipulation-in-a-native-vtk-window-is-slower-than-paraview/16056/3 "2025-09-23T21:03:28Z")

</div>

Thanks Jaswant - I just figured out that Paraview is using an LODActor and reducing the polygon count during view manip. I saw this after chaging the representation to Surface with Edges.

So I updated the example and switched the vtkActor for a vtkLODActor.

I also looked at the vtkLODActor example.

So now I do see the improved viw manip speed - BUT….. the LOD display is terrible - just a handful of points basically and nothing like the uniform poly reduction I see in Paraview. I’ve varied the DesiredUpdateRate on the interactor but that doesn’t get me any kind of intermediate coarsening. From vtkLODActor documentation, I undestrand that what I’m seeing is the expected behavior - full fidelity, subset of points, outline are the default detail levels.

So I’m guessing that if I want to replicate what Paraview has, I need to configure the LOD manually - generating an intermediate LOD using something vtkDecimatePro?

---

<div class="post-metadata">

### Author: ![scotsman60](https://discourse.vtk.org/user_avatar/discourse.vtk.org/scotsman60/32/6000_2.png) [@scotsman60](https://discourse.vtk.org/u/scotsman60)
#### Post date: [September 24, 2025, 3:42pm UTC](https://discourse.vtk.org/t/view-manipulation-in-a-native-vtk-window-is-slower-than-paraview/16056/4 "2025-09-24T15:42:03Z")

</div>

OK - I replaced vtkLODActor with vtkQuadricLODActor and now the LOD behavior (and performance) is much closer to what I see in Paraview. Paraview still seems to have a better quadric decmation, but I’m pretty sure this is just down to tuning of the LOD params
