It always go 80% of cpu 3
Thanks for the Tool. Makes it all so much easier.
Although i got the same behavior as thanh1256463, so core 3 gets most of the stuff to do, all in all it runs more smooth, especially when using grimcam and raising the zoom-out level.
Running on a i9 9900k @5Ghz
What exactly are the 2 brackethotkeys âeveryother_0â and âeveryother_1â intended for?
Ah I think that was me âstartingâ to put in the option to have it toggle cores âevery otherâ - basically, every other 0 would be starting with core 0 and every other 1 would be starting with core 1.
If memory serves I havenât gotten around to fleshing that out.
I just found out about this and decided to test it. I have a Ryzen 7 2700U and a Radeon 540 on a notebook. The game constantly overloads one CPU. I used the tool and tried manually as well but itâs not working for me. The game overloads core 0. When i switch it off, go back in game, wait a bit and go switch it back on, the game has moved to core 2 and itâs overloading that now. Turning core 0 on again does nothing because the game now is focusing everything in core 2. Switching that off just causes it to jump to core 4. Itâs infuriating.
I tried every fix i could find online for the constant severe frame drops during large fights (the game pretty much goes to 10 fps) but nothing worked for me. What i find weird is that the game runs really well in most areas of the game when there arenât a few dozen enemies fighting but the area that stretches from the Asterkarn Mountains to Fort Ikon has severe frame rate issues as well. Particularly, the fort that connects to the Tomb of Archon Barthollem is terrible in this regard. Has anyone else experienced something like this?
Try manually toggling off every other core and then see how it performs. So toggle off cores 0, 2, 4, and 6 - alternatively you can also try toggling off cores 1, 3, 5, and 7 as well.
Hi, I have an AMD Ryzen 9 3950X, and I always see GD try and eat poor core 0⌠would the windows tool work, or does it only handle up to 8 physical cores?
im not the dev but concludig from the source, it supports up to 32 native 64 logical cores , So the 16 core ryzen is easily covered.
Correct. The Windows version of the tool can handle pretty much any core configuration mere mortals can afford - and some you canât.
I should probably update the OP about that eventually - thought I did but looks like I didnât.
Now as for if it would work (meaning the actual âfixâ) with their particular CPU, wellâŚ

âŚthat remains to be seen.
Before: (Minor spikes in other cores because I kept tabbing into other things! 
After: 
Any core after 5 is just sitting looking pretty. Itâs certainly utilising those cores but its interesting how spiky the usage is, when I tested by running around in Homestead
Very nice. It certainly looks better and at least it isnât stuck on Core 0 smashing its head into the ceiling repeatedly. The constant dips I donât know⌠on my CPU it levels out nice and smooth in most scenarios in-game.
Hi everyone.
I have a couple of comments on a script for Linux.
Why there are two switching in it - first on all cores, except 0, and after all the cores? At the same time with a pause of 8 seconds between them.
Why is it duplicated code for different number of cores?
Sound signal, seriously?
I rewrote this script taking into account the observations described above.
Script
#!/usr/bin/env bash
gdpid=$(pidof 'Grim Dawn.exe')
gipid=$(pidof 'GrimInternals64')
coresNumber=$(( $(nproc) - 1 ))
if ! [ -z $gdpid ]
then
resultpid=$gdpid
elif ! [ -z $gipid ]
then
resultpid=$gipid
fi
if ! [ -z $resultpid ]
then
taskset -pac 0-$coresNumber $resultpid
echo New affinity list applied.
else
echo Grim Dawn executable not found. Aborted.
fi
It turned out quite briefly:
- We are looking for the game process
- We tell it to use all the available cores
- ???
- Profit!
It worked successfully on my Intel Core i7-8750H:
It is possible that someone would prefer to use this version of the script.
Thatâs the beauty of having access to the code, you can change it how you like 
You should list your CPU properly so others with the same CPU that are searching the thread might see it and know if their CPU should work with this method. The CPU model is more important to know than your OS and CPU threads.
I agree, it makes sense.
Edited the original message.
i actually like the sound signal. i changed the frequency and duration abit for my liking, but having an acoustical feedback for sucessful switching while in game, i cant see a reason to complain.
Yea, I wanted an audio cue when I was making it that it had successfully fired off and I ended up liking it as well. As for the âgapâ between switching between Core 0 and then switching back, I had some weird issues when I was first making it that it didnât seem to be working correctly (on the Windows implementation) unless I added a âsleepâ in between.
Canât remember why I decided on 8 seconds but anyways, I did - but it isnât likely necessary to be so long 
The one nice thing about the Linux script - as Knebergish shows in his - is that it is significantly easier (far less) code to toggle the cores via a Linux bash script. On Windows itâs drastically more complicated to perform the same action, requiring me to have the correct âaffinity mask numbersâ depending on the CPUâs number of cores.
Was a bit of a pain since I had to reference between an âaffinity mask calculatorâ while making it.
https://www.gfsg.co.uk/affinitymask.aspx?SubMenuItem=utilties
https://fsxtimes.wordpress.com/2017/09/08/455-affinity-mask-calculator-enhanced/
This article here helped me greatly with learning how to do it via PowershellâŚ
https://web.archive.org/web/20190828031753/http://www.energizedtech.com:80/2010/07/powershell-setting-processor-a.html
For the code at the very top of the Windows script to get a users CPU and core amount etc via AutoHotkey, I cannibalized this code here:
https://autohotkey.com/board/topic/60968-wmi-tasks-com-with-ahk-l/
âŚfrom a user named âsbcâ a few posts down from the OP.
For me the method of switching Core 0 off and on again doesnât work as expected. The process latches onto a different core, seemingly randomly. Switching off the currently loaded core just causes a different one to get loaded, itâs like playing whack-a-mole. I have AMD Ryzen 5 4600H. I also tried switching off odd or even cores, leading to the same result.
Are there any other options?
No and yes. This is one of those things that either works or it doesnât. However, you CAN try going into your BIOS and disabling SMT and then try again. SMT is AMDâs version of Hyperthreading (what Intel calls it). This will basically disable your CPUâs extra virtual cores and limit you strictly to your âtrueâ physical cores. In the case of your CPU this would mean it would then be using 6 (real) cores versus the 12 it has with SMT enabled.
At the very least you could at least test it out (even if you donât intend to leave it disabled) to see if there is a difference in performance (hopefully for the better) with Grim Dawn for you. In the past there were people that found that disabling Hyperthreading did improve Grim Dawnâs performance for them.
If you do try it I would suggest basically doing the stuff I describe in the OP here. Reboot to BIOS, disable SMT, save and reboot back to the OS, open the Performance Monitor so you can watch your core activity, start the game and play for a minute or two, tab out or whatever to check and see if its hogging on a single core primarily, if so try the Core 0 toggle and then see what happens etc.
SMT setting is inaccessible in my crippled laptop BIOS. AMD Ryzen Master (which can toggle SMT) doesnât support my CPU. Iâll keep looking into it for a bit and get back if I manage to disable it.
Mm that sucks. The only thing I can think to suggest in a case like that is to check your laptop manufacturers website for drivers for your laptop. Specifically, updated BIOS drivers - in the hopes that they may have enabled it later down the line.
I suppose you could try to âfakeâ disable SMT for Grim Dawn, by disabling every other core, and see if it behaves any differently.
Basically for your CPU:
- Start game
- Disable Cores 1,3,5,7,9,11 for GD
- Play it for a lil, see if anything changes - maybe do a Core 0 toggle on it after a couple mins etc
- Alternatively you can also try disabling Cores 0,2,4,6,8,10 instead
And if none of that changes anything for the better and there are no updated BIOS drivers etc then Iâm pretty much outta ideas on that front and there might simply be nothing much that we can do for that CPU beyond that point.

