[Tool] Core Switcher - Force GD to use all cores equally!

Manual disable-enable core 0 definitely does smth for i7-9750h (laptop).

1 Like

This didnā€™t work for me and I donā€™t understand why it would. Surely it would only run evenly over multiple cores if it was programmed to do so? From what Iā€™ve read, the creators have tried to adapt it for multi threads, but only in a very limited way due to the old engine used. So how can you force it to do something that itā€™s not capable of? Iā€™d really like Grim Dawn to run better, but I donā€™t see how itā€™s possible without either using a high speed core or the developer adapting it further for multi cores.

If the switcher works for some players, then apparently game runs on multiple threads, but Windows fails to scatter them automatically. Why would that be? I donā€™t know either.

any change amd proccessor. I get < 50 fps in port valbury with 100% cpu on one core and 0-1% on 3700x. But it seem like window update or something, before it ran fine, at least over 60 fps for 1060 6GB.

Itā€™s magic. Wanna know how it works?

Well, you see, what I did was disable core 0 - which GD was using at 100% but not touching any of the others. Then I enabled core 0. Magically, it spread out over the other cores for me. This is how it works and I, and noone else I know yet, knows why this happens.

Iā€™m a fairly smart cookie, sometimes, but the whyā€™s of a subject like this are more nerd than I am capable of. I only know what I discovered. On accident.

Alsoā€¦

If you search thru the thread you will find numerous other people it works for - but it by no means works for all cpuā€™s. I make this explicitly clear.

1 Like

Huhā€¦ it might very well be magic. I just tried switching off 4 virtual cores out of 8 (the cpu has 4 actual cores), and weirdly this brought the load on the main core being used to below 100%, ie core 0 was no longer topping out - it still peaked around 100% at times but didnā€™t look anywhere near as bad as when all 8 cores were running (core 0 is normally completely saturated when running GD) . I left it a while and then switched all cores back on, and sure enough it continued like this. I should add that switching just one core on and off did nothing. It was only when I tried switching half of them off that it worked (any 4 of the 8). I didnā€™t really need to switch the cores back on because the active 4 handled it. BUTā€¦ Iā€™m not sure there was any improvement in actual gameplay. Iā€™m undecided. So if there is any improvement, it canā€™t be much. It makes me wonder if the perceived overloading of core 0 is somehow misleading. Not sure at all about any of this except that it ā€˜looksā€™ like it works.
Ryzen 5 2500U / 8 GB RAM / SSD

I donā€™t know if anyone else has noticed this, but Iā€™ve come across another improvement by combining core switching with windowed mode. I run the vanilla version of the game at 1600x900 resolution to reduce graphics load (my laptop has higher native res). If I switch off 4 of 8 cores while in windowed mode and then after a few seconds reactivate them all, the load is spread better across the cores than if I were in full screen mode.

Just discovered about this fix and made some tests, Iā€™m having the same experience as @Whatever1
When shutting down a core the game simply switch to another and starts to load it full.
I have a Ryzen 5 1600

1 Like

Hey @powbam brother is this the same as GD CPU affinity?

It indeed works for me. I havenā€™t played the game intensively after using the tool. Has anyone actually experienced real in-game differences like higher FPS or running more smoothly?

Similar but not the same. His forces the game onto every other core - which might help with some CPUā€™s.

My trick simply toggles core 0 off and then back on, which likewise helps with some CPUā€™s.

1 Like

Generally, if you read the OP, this is for people that have noticed that the game is using one single core of their CPU at 100%. For some CPUā€™s this trick causes the load to spread more evenly across all their cores, which ideally would help the game to run smoother since it isnā€™t continously butting its head against the ceiling of a single core.

Not ALL CPUā€™s are created equal however and this is not a cure all one size fits all method. I simply noticed on mine, accidentally, that when I toggled core 0 off then back on that the game spread more evenly across all my cores and stopped hogging a single core.

Why this works and the extent to which it ā€œactually does anything at allā€ is up for debate.

2 Likes

Hey I am running a ryzen 4800h (8 core, 16 threads), and I have just managed a good result with 0-2-4-6 ON, and a reset of like 4 seconds on core 0, and setting priority to realtime.

I changed the settings file in the documents, wondered if that is usefull ?

And could you please make me a tool with 0-2-4-6 + soft reset on 0 ? Thanks!

similarly, all these programs and actions do not help! ((

Same with me. When ā€œresettingā€ 0 it uses 2, when ā€œresettingā€ 2 it uses 4 and so on.
AMD Ryzen 5 4600H (6|12)

Up until recently I had a 6 core Ryzen and this tool worked beautifully. Iā€™d press Ctrl+Alt+o, it would make one beep and Bobā€™s your uncle. I have now switched to a 12 core Ryzen 9 and I assume the tool no longer works. On launch it would make several beeps, there would be a slight lag, and then the game would go on as normal. So I assume that means computer says no. Is there an alternative to this for a 12 core processor, or would it perhaps be possible for a version for such now they are starting to become more common? The older Core Affinity tool doesnā€™t work at all, it throws up a Windows error message. So I do not know of any alternatives. It would be nice to have this tool working to squeeze that last quarter of a frame per minute out of this rig. :slight_smile:

The tool by default now supports up to 32 cores. What happens when you manually try disabling Core 0 and then re-enabling? Does the usage spread out better or does it simply shift the activity to another core?

Keep in mind that this ā€œtrickā€ doesnā€™t work with all CPUā€™s the same, sadly, so if you find that it doesnā€™t change the behavior for the better then thatā€™s just the way of it.

Ahh, itā€™s up to 32. ok. I was going by itā€™s behaviour. On a 6 core Ryzen it just made a single beep on startup. On the new 12 it makes several and there is a split second lag before it settles down. After that however it works flawlessly. This threw me, my bad.

1 Like

hi all, wanted to share some information about my i5 9600k (6c/6t 3.7GHz base). i play at 1440p, 2060 GPU and 16GB RAM.

i did not use the core switcher utility posted here. instead, i bought ProcessLasso. I noticed that, like everyone else, core 0 was getting hammered. Switching off and switching back on again proved no help.

this is what I did -

start GD with only cores 1, 3, and 5 active.

i created a watchdog rule that after 30 seconds, whenever my core usage was below 100%, activate all cores.

profit.

core usage evened out across all 6 cores. lovely experience, random hitch here and there but iā€™m pretty sure it just comes with the territory for this game.

thanks!
-db

1 Like

Can you tell what your fps increase is roughly, using this method?