I'm guessing the pros and cons would be the same as for any other app/lib. Which means you probably have to measure the effect on a per game basis. Is the non answer.
But personally i don't see much reason to disable hyper treading for the sake of dxvk.
I'm guessing the pros and cons would be the same as for any other app/lib. Which means you probably have to measure the effect on a per game basis. Is the non answer.
But personally i don't see much reason to disable hyper treading for the sake of dxvk.
thanks for replying! So in principle, is disabling Hyper-threading not conducive to DXVK playing its role?
Shouldn't be afaik no. Don't know anyone that have disabled it.
dxvk will automatically assign a amount of threads for shader compiling depending on the amount available
https://github.com/doitsujin/dxvk/blob/caf31033d711460e86781b16a4d9b0f41fa9e817/dxvk.conf#L269
The first time I read about how to turn off Intel Hyper Threading (or AMD SMT) is on the Liquorix kernel forums: https://techpatterns.com/forums/about2455.html
My very personal idea about this technology is like this:
Say, there are two jobs waiting for CPU, both of them would take 1 sec to done. So normally, we would need 2 sec.
If we have Hyper Threading, then we could give these two jobs to CPU at the same time. Then the CPU would take about 1.8 sec to finish both of them.
Sounds great, right? However, the trap is that BOTH jobs would need 1.8 sec to be finished.
Normally, we would have one job to be done at 1 sec, and another job to be done at 2 sec.
Totally it took longer, but the time between "start doing the job" and "finishes the job" is shorter as 1 sec, while Hyper Threading would do all job in a shorter time, but individual job would take more time as 1.8 sec.
I think this is what they call "latency" and "throughput".
Shorter individual job time means latency is better.
Shorter total job time means throughput is better.
If we only talk about gaming, I think latency is more relevant.
Again, above is only my very personal idea. I turn off Hyper Threading in BIOS myself.
Hello, I am not a pro in this field but I heard disabling Hyper-threading can increase fps
This was true 10 years ago when games were almost entirely single-threaded and operating systems were also kind of crap at dealing with SMT. But things have moved on a little.
If you're on something with less than 8 cores then disabling SMT is generally not a good idea when playing modern games, and if you have a CPU with a lot of cores then the scheduler will generally avoid scheduling different threads to the same physical core as much as possible.
There are some games that run worse with a lot of threads in general if they try to scale small worloads to too many threads, but this isn't even an SMT problem but rather a games being programmed badly problem, and some games (Witcher 2) straight-up crash on CPUs with 32 or more logical threads. With Proton you can explicitly limit games to a given number of threads by setting WINE_CPU_TOPOLOGY in the launch options (e.g. WINE_CPU_TOPOLOGY=8:0,1,2,3,4,5,6,7 %command%) to work around issues in specific cases like this.
TL;DR no, no good reason to turn it off globally.
Hello, I am not a pro in this field but I heard disabling Hyper-threading can increase fps ,but I also worry that disabling it won't benefit performing background optimization of graphics pipeines. So I want to ask you this question, thank you very much!