<p>I am simulating multiple users rendering with my program on my computer with multiple threads. I wonder why my fps counter tells me that the performance on all threads is the same, regardless of the different data I am using on those threads. I mean, for some data, the rendering is slower, due to the complexity of the scene. However, when I mix a larger and more difficult-to-render dataset with a faster-to-render one, each scene is rendered with the same fps on different threads. That does not seem intuitive for me.</p>
<p>Best,
Lily</p>

CC BY-SA 4.0
2022-07-15T04:35:26.553Z
That depends on the structure of the threads, command buffers, queues, and the relationships between. As well as how your "fps counter" works.
Nicol Bolas
CC BY-SA 4.0
2022-07-15T06:11:58.077Z
my vulkan program is wrapped in a class. each thread is an instance of the class. as for fps counter, I used the code by sascha willems,
Lilylilyren
CC BY-SA 4.0
2022-07-15T22:39:40.887Z
GPU drivers will throttle applications so that can't easily take over a system, look for a setting that will allow your app use more GPU cycles. (and look into applying those settings programmatically)
pmw1234
CC BY-SA 4.0
2022-07-18T07:30:09.050Z
@pmw1234 I don't understand what you mean. will using more GPU cycles make the program faster?
Lilylilyren
CC BY-SA 4.0
2022-07-18T10:31:53.490Z
GPU drivers control app performance in a way similar to CPU operating systems limiting graphics apps to about 60fps. This can be disabled in the GPU settings usually.
pmw1234
CC BY-SA 4.0
2022-07-18T11:07:27.553Z
@pmw1234 Ah, I know about this. I don't think this is the issue though, because the fps can vary from 100fps to 30fps for three threads, depending on the data.
Lilylilyren
CC BY-SA 4.0
2022-07-18T11:56:41.980Z
The best way to determine this is to measure the frame time in the code which is GPU time + CPU time and compute an expected frame rate. That takes the guess work out of the equation.
pmw1234
<vulkan>
multithread rendering performance
Lilylilyren
# multithread rendering performance

(Asked by: username_0 on 2022-07-15)

I am simulating multiple users rendering with my program on my computer with multiple threads. I wonder why my fps counter tells me that the performance on all threads is the same, regardless of the different data I am using on those threads. I mean, for some data, the rendering is slower, due to the complexity of the scene. However, when I mix a larger and more difficult-to-render dataset with a faster-to-render one, each scene is rendered with the same fps on different threads. That does not seem intuitive for me.

Best,
Lily

**Tags:** vulkan

> **Comments:**
> **username_1**: That depends on the structure of the threads, command buffers, queues, and the relationships between. As well as how your "fps counter" works.  
> **username_0**: my vulkan program is wrapped in a class. each thread is an instance of the class. as for fps counter, I used the code by sascha willems,  
> **username_2**: GPU drivers will throttle applications so that can't easily take over a system, look for a setting that will allow your app use more GPU cycles. (and look into applying those settings programmatically)  
> **username_0**: @username_2 I don't understand what you mean. will using more GPU cycles make the program faster?  
> **username_2**: GPU drivers control app performance in a way similar to CPU operating systems limiting graphics apps to about 60fps. This can be disabled in the GPU settings usually.  
> **username_0**: @username_2 Ah, I know about this. I don't think this is the issue though, because the fps can vary from 100fps to 30fps for three threads, depending on the data.  
> **username_2**: The best way to determine this is to measure the frame time in the code which is GPU time + CPU time and compute an expected frame rate. That takes the guess work out of the equation.  

---

## 0 answers

