# Performance difference caused by local rendering and remote rendering

**URL:** https://discourse.paraview.org/t/performance-difference-caused-by-local-rendering-and-remote-rendering/6684
**Category:** Web Support
**Tags:** vtk
**Created:** [March 12, 2021, 1:02pm UTC](https://discourse.paraview.org/t/performance-difference-caused-by-local-rendering-and-remote-rendering/6684 "2021-03-12T13:02:06Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![Superstarimage](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/s/977dab/32.png) [@Superstarimage](https://discourse.paraview.org/u/Superstarimage)
#### Post date: [March 12, 2021, 1:02pm UTC](https://discourse.paraview.org/t/performance-difference-caused-by-local-rendering-and-remote-rendering/6684/1 "2021-03-12T13:02:06Z")

</div>

Hello, I am testing the web client performance using VTK as server in remote mode. We read a obj model in the local file which has 1 billion triangle faces and got 3 fps. But when we rendered the same model with vtk renderer(not in remote mode), the fps is more than 10000. It just shocked me. So do you know the reason why we get the different performance. Thank you very much.

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [March 12, 2021, 3:23pm UTC](https://discourse.paraview.org/t/performance-difference-caused-by-local-rendering-and-remote-rendering/6684/2 "2021-03-12T15:23:38Z")

</div>

Are you using mesa for rendering or else? How big is the picture that you send over the network when you do remote rendering and that you are getting 3 fps?

I would say we need more informations in order to figure out what is happening here. With remote rendering we tend to limit the fps to 30 to prevent network overload.

In general we get 20 fps over DSL across the US with reasonable screen size (HD not 4k).

---

<div class="post-metadata">

### Author: ![Superstarimage](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/s/977dab/32.png) [@Superstarimage](https://discourse.paraview.org/u/Superstarimage)
#### Post date: [March 13, 2021, 3:22am UTC](https://discourse.paraview.org/t/performance-difference-caused-by-local-rendering-and-remote-rendering/6684/3 "2021-03-13T03:22:32Z")

</div>

Hi Jourdain, thank you for your reply.  
The size of the picture is 1080p.We tested the performance of remote rendering in local area network(in fact, use the site [http://localhost:8080/](http://localhost:8080/)).  
And we rendered the same model with vtk renderer(not in remote mode) in 1080p size.  
Thank you very much.

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [March 15, 2021, 3:47pm UTC](https://discourse.paraview.org/t/performance-difference-caused-by-local-rendering-and-remote-rendering/6684/4 "2021-03-15T15:47:42Z")

</div>

How did you setup your server? Build, setup, run? So far I don’t have enough to provide any guidance.

---

<div class="post-metadata">

### Author: ![Superstarimage](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/s/977dab/32.png) [@Superstarimage](https://discourse.paraview.org/u/Superstarimage)
#### Post date: [March 16, 2021, 10:29am UTC](https://discourse.paraview.org/t/performance-difference-caused-by-local-rendering-and-remote-rendering/6684/5 "2021-03-16T10:29:22Z")

</div>

Hi Jourdain, thank you for your help.

- About visualizer, I didn’t build or setup the server. I just run the visualizer in ParaView-5.9.0-MPI-Windows-Python3.8-msvc2017-64bit file with this codes:  
`.\bin\pvpython.exe share\paraview-5.9\web\visualizer\server\pvw-visualizer.py --content share\paraview-5.8\web\visualizer\www\ --port 8080`

- About vtk remote rendering, we modified the [ParaViewWeb-SimpleDemo](https://github.com/tsgouros/ParaViewWeb-SimpleDemo) project, and build and run it with the recommended command:

```auto
$ cd js
$ npm install
$ npm run build
$ npm start

```

- About vtk(local) rendering, I imported the vtk package in pycharm IDE and wrote the scripts in python.

* * *

With your help, I did some tests about vtk(local) rendering, vtk remote rendering and visualizer remote rendering.  
Here are the results.  
**Test condition:**

- **Hardware condition** ：RTX 3090(24GB), 64GB RAM, Intel® Core™ i9-10900K CPU @ 3.70GHz, 1 TB(220 GB available) SSD;
- **Model scale** : 5700.obj, with 57 milion triangle faces, the 5700.obj file is 6.08GB. We copied it in renderer to build a scene with about 114 million triangle faces;
- **Remote rendering** : in local area network environment(one pc);

**Test results:**

- **vtk(local) rendering**: 1000-10000 FPS, 36.6GB RAM usage, picture size 3127\*1139;
- **vtk remote rendering** : 2-3 FPS, 36.9GB RAM usage, picture size 3127\*1139;
- **visualizer remote rendering** : 30+ FPS, 36.3GB RAM usage, picture size 3127\*1139;

As for the huge difference between vtk remote rendering and visualizer remote rendering in FPS, I think the reason is that visualizer has done some optimizations. Such as limite the Max interactive server FPS, reduce the interactive image quality(JPEG), reduce the interactive image size, and reduce the number of mouse event throttling pre second, etc.

All in all, thank you for helping me all the time. I am more than appreciated.

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [March 16, 2021, 4:52pm UTC](https://discourse.paraview.org/t/performance-difference-caused-by-local-rendering-and-remote-rendering/6684/6 "2021-03-16T16:52:21Z")

</div>

That [example](https://github.com/Kitware/web-project-templates/tree/master/vue-vtkjs-pvw-template) is a better one to follow which is more modern than Visualizer and will give you the same performances.

---

<div class="post-metadata">

### Author: ![Superstarimage](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/s/977dab/32.png) [@Superstarimage](https://discourse.paraview.org/u/Superstarimage)
#### Post date: [March 17, 2021, 12:36am UTC](https://discourse.paraview.org/t/performance-difference-caused-by-local-rendering-and-remote-rendering/6684/7 "2021-03-17T00:36:01Z")

</div>

> [@Superstarimage](#):
>
> As for the huge difference between vtk remote rendering and visualizer remote rendering in FPS, I think the reason is that visualizer has done some optimizations. Such as limite the Max interactive server FPS, reduce the interactive image quality(JPEG), reduce the interactive image size, and reduce the number of mouse event throttling pre second, etc.

Great, thank you!  
By the way, as for the judgement above, we have a different speculation. We used the same 4 optimizations when testing the vtk romote rendering project, but still get 2~3 FPS.

So I guess that the factor is the architectural difference between vtk remote rendering and visualizer remote rendering which caused the FPS difference.

However, I can’t point out the specific reason. If you have some opinions, please write and tell me.  
Thanks a million!

---

<div class="post-metadata">

### Author: ![jourdain](https://discourse.paraview.org/user_avatar/discourse.paraview.org/jourdain/32/11_2.png) [@jourdain](https://discourse.paraview.org/u/jourdain)
#### Post date: [March 18, 2021, 5:22pm UTC](https://discourse.paraview.org/t/performance-difference-caused-by-local-rendering-and-remote-rendering/6684/8 "2021-03-18T17:22:25Z")

</div>

The example given above has a VTK server available as well. I’m not sure what you are doing that might induce such difference.
