Is there a way to disable hyperthreading for a single application?

ryderbg

Reputable
Nov 28, 2014
41
2
4,545
Hey! I would like to stop hyperthreading or disable the virtual cores in Diablo 3. The game is old and non-optimized for more than 2 cores. So I heard people talking about disabling the "extra" cores. Also I was thinking of setting an affinity (from Task Manager) to only 2 cores, but I don't know which are the real ones and which are the threads (virtual).
Can you tell me how to disable hyperthreading for Diablo 3 or which are the real cores (CPU0, CPU1, CPU2 or CPU3)?

I am using mobile cpu Intel Core i3 370m.
 
I tried to put the process on two cpus and it was the just like four. Also many people said that the game is running better when they put it on 2 cores.
Hyperthreading is not always good, especially for older application. The issue is with the games not with the hyperthreding. For example: I must put GTA San Andreas on one cpu to work my mouse 😀
 


That's why I want to know which are the real cores.
 




They are all real cores. When Hyperthreading is enabled, each core exposes two independently scheduleable front ends; when Hyperthreading is disabled, each core exposes only one independently scheduleable front end.

From the perspective of the logical processor ID, logical processors belonging to the same physical core have sequential numbers. So in a quad-core microprocessor, LPs 0 and 1 form belong to the same core, LPs 2 and 3 belong to the same core, LPs 4 and 5 belong to the same core, and LPs 6 and 7 belong to the same core.

Most well written applications will detect this and set their kernel thread affinity automatically. They may only override this on a per-kernel-thread basis without touching the process's default affinity (from which new threads inherit), so Task Manager is really a bad place to play around with this stuff.
 


did you read mine? you are just repeating what I said. exept for the software part 😛