Dedicate a CPU Core to a single process

BlueTemplar

Distinguished
Jan 30, 2012
21
0
18,510
I have a 2006 single-threaded game that sometimes uses 100% of one core. I have a 3 core AMD CPU.

Will dedicating a core to the game boost the performance a little bit? Or is Windows 7 is already automatically moving processes to another core when one core tends to be saturated?

How can I dedicate one core to the game without having to manually set all the other processes to use only the two other cores?
Is there a way to pre-set the core affinity before a process is run?
(Windows System Resource Manager seems to be able to do this, but there doesn't seem to be a version of it for Windows 7)
Maybe defining the game priority as Real Time would achieve the same effect? Or is there a risk that this would hang Windows and other processes?

Thank you in advance for your answer.
 

willard

Distinguished
Nov 12, 2010
2,346
0
19,960
If your game is maxing out a core, it means it's already scheduled and running. Setting its priority to realtime is going to do bad things to your system (the game can then preempt user input and networking), but choosing above normal might give you a very small boost in performance (probably unnoticeable).
 
Agree with above. Windows already ensures the highest priority threads always run, and foreground applications get a priority boost over background ones. The only time your games main thread will not be running is when its IO blocked [in which case it will be pre-empted by some other thread]. You can force the game to use only one core, but not the reverse.

As a general rule: You are not smarter then the OS scheduler.