Setting Affinities for Better Performance in Games

The concept of using specific cores for your gaming needs is not new, especially if you have dealt with the Interrupt Affinity Policy Tool while setting affinities for your GPU, USB controller, etc.

The point of allowing certain cores to be used specifically for your game stems from the fact that CPU cores/threads keep increasing over generations but the Windows task scheduler is not exactly the best at using these resources correctly. Not always, but in some cases, games benefit greatly from manual affinity settings, so here is when you should be looking into this process.

SMT/Hyperthreading

If you are using SMT/Hyperthreading on your CPU this effectively creates 2 threads on the same core which can be used by tasks. However, separating tasks on threads from different cores can introduce a latency/FPS penalty which is not optimal.

hyper threading disabled

This is once again a game-by-game situation, but if you notice that your game is not performing as expected you can try setting the affinity for the game to use only physical cores without the virtual threads so no splitting is happening. This might prove to be better for certain cases but might make no difference in other games.

Intel P-Core + E-Core CPUs

Another situation in which setting manual affinities for your games could improve your FPS is if you have an Intel CPU that has both performance and efficiency cores. If the game was made with this design in mind or if you are on Windows 11 where the scheduler is aware of the differences between these cores, you might not see much of a difference.

p e cores clocks

If you are still running Windows 10, manually selecting the P-Cores for your game might improve your performance since the E-Cores will no longer attempt to run the game.

This would once again be a game-by-game test to see which games can benefit from manual affinities.

Weak Cores or Overused Cores

If you have noticed that your CPU has a specific core that is weaker than others (not all silicone is equally made) or if you have other tasks scheduled for one specific core it might be worth excluding said core from being used by your game of choice. Most games don’t really deal well with many cores and still rely on single-core performance so in certain cases leaving some cores out might increase your performance.

Utilities to Use

To set affinities technically you do not even need an external utility since you can set it from Task Manager. If you however want more advanced options you can use Process Explorer, Process Lasso, and Process Hacker.

process lasso hacker

Process Hacker is especially useful if you are trying to modify the affinity of an app that Windows protects so other utilities do not work on it. In the end, you can use whatever fits your needs better.

Things to Note

As much as this manual process can be of help to certain gamers it can be equally bad and decrease performance. Windows and games did get a lot smarter over the years at allocating resources and in some cases, it might just be better to leave them to figure out which cores to use.

If you do venture into manually setting affinities for applications make sure to test multiple times if the performance is improving or not – DO NOT just set some affinities and call it a day. The process is quite tedious so if you do not want to spend a couple of hours testing for all of your games just leave the affinities on default values.

TL;DR

If you are ready to fight for every FPS and every percentile of improvement, trying to set manual affinities for your games might help you with that. If you however do not want to spend hours on testing to see 1% differences you can leave your affinities on auto.

About The Author

Chris (vile_is_dead)

Custom Windows ISO enjoyer, FPS optimizer, and aim improvement enthusiast. Will disassemble all of his peripherals (and sometimes PC parts) to mod them even if all of them work perfectly fine. Discord/Twitter: vile_is_dead

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments