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

@wasted

Just nerding out drinking coffee and reading this morning. Found this -

Has to do with just disabling cores -in general- without being tied to a process, as in the script. Some useful stuff in that.

I’m finding Hyperthreading to be a bit of an interesting topic now considering the various effects it has from CPU to CPU (in GD’s case). So, been trying to learn more.


Yeah that definitely jives with my own findings on my wife’s laptop I posted of above.


Expanding on the topic of Hyperthreading, I should note that there are apparently some serious security concerns with it:

WMI is such a nice thing in Windows :wink:
Thanks @powbam for your work! I have never touched your tool but can see your interest in coding it so that it is more userfriendly.

So thank you for your nice work for this nice game!

Best regards
FernandeZ

1 Like

Lol, I see you’re familiar with what I used to pull up info in my code :smiley:

I pulled that bit of code from this post (couple posts down):
https://autohotkey.com/board/topic/60968-wmi-tasks-com-with-ahk-l/

And then modified it for what I wanted.

1 Like

Sure :wink: I love coding. And the names in your screenshot where to 100% from WMI, so I thought I need to say something to this without that I use your tool. I like it that you go on to make it more comfortable. That is what a it is all about :slight_smile:

I asked myself if your tool works for systems with 2 real CPU’s. With Win32_Computersystem you can find out how many real CPU’s are in the system.

If you want to play more with WMI I can recommend Scriptomatic. There you can find the classes per root…

Nevertheless. Thank you again for your great work!

1 Like

It does indeed. I don’t know how well it will benefit performance for a straight dual-core system but if you decide to try it then definitely let us know the impact, if any.

Thank you. I will take a look.

You’re welcome :smiley:

1 Like

@powbam
well, my cpu (i5-3570k) has no hyperthreading :smiley:
and if i remember correctly, ht doesn’t really improve gaming. in case of hyperthreading, disabling every second thread (or respectively the HT-threads) for a process can improve performance, because threads in that case no longer share the same I/O-system of one physical core.

and running a modern cpu in general can have security issues. Just mentionening ‘Intel Management Engine’ and AMD’s equivalent here https://en.wikipedia.org/wiki/Intel_Management_Engine.

1 Like

Indeed. I’ve gathered that from earlier articles I read. And my testing with doing it on my wife’s laptop (with HT) seems to validate that there is some usefulness there - which is why I want to throw in the option in the tool for people to be able to disable “every other”. Should help with some HT/SMT cases where the Core0 toggle method isn’t working.

Thanks for the link. Interesting stuff. And yea, the past year plus there’s been alot of hubbub around the CPU security flaws going way back apparently. Crazy stuff.

yeah spooky stuff going on there :ghost::ghost:
at least every now and then there is a microcode update for my cpu :smiley:

1 Like

@powbam would you consider an option that shuts off cpu0, then when it is re enabled disable the odd number CPUs. I would be interested to see what happens on mine in that scenario

Yeah I could just have it do that by default. I’ll adjust the last custom one I gave you yesterday on Discord and give you a download here in a little bit. That’ll be quickest. To do it for all CPU scenarios is going to take me a little bit longer :smile:

Edit…
@Valinov - Here ya go. This will do that for 8core 16thread CPU’s
[removed download - new one in post below]

Ctrl+Alt+[ to disable every other core starting with CPU1
Ctrl+Alt+] to disable every other core starting with CPU0

You’ll get a beep after doing the hotkey to signify it switched off Core0, 8 seconds later another beep to signify switching off every other core.

Does it enable cpu0 when it shuts the others off?

My bad I did it backwards (in my code I mean)… here it is correct.
windows_core_switcher.zip (524.4 KB)

The first hotkey Ctrl+Alt+[ does enable Core 0 and then disables every other core starting with Core 1.
Cores 0,2,4 and so on should be active.

The second hotkey Ctrl+Alt+] is the opposite - disabling every other core starting with Core 0.
Cores 1,3,5 and so on should be active.

Thanks I’ll give it a shot on Saturday or Sunday when I’m back home

1 Like

I’m waiting for a hotkey to disable all cores and stop the PC dead. :smiley:

1 Like

That would be… interesting. :alien:

Correct you were - I had been still using Glockens original versions and using those instead uncovered a flaw in my Menu Switcher that @StrUktO had previously noticed and at the time I thought it was something he had been doing wrong and not the program :smile: Sorry about that Strukto - the program defaulting to the Vanilla button on program start is now fixed! The reason it wasn’t happening for me is because my Glocken files were different to yours (and presumably most everyone else who downloaded her revised ones).

actually the problem didn’t occur for me after reinstalling like you said, so I was still under the assumption that I had clicked the buttons too much…
glad to see that it has been fixed!

Interesting. Once I redownloaded Glocken’s “newer” files Vanilla defaulting started happening to me. Perhaps you too had/have Glocken’s older files and your issue was indeed related to the “click too much” issue. Does your AoM have FG fire/flames on it? If so, that’s the older version and she modified it after that point.

Either way, you might still want the new Menu Switcher since I updated the program for it (and Glocken’s modified files) :smile: Or if you do have both older ones I guess you could keep right on using them if you like as well.

Hi Powbam! Someone at the Grim Dawn discord channel referred me to you in regards to an issue I have. So the scenario goes like this: I launch the game and everything is fine when you are at the menu screen. But when you launch your game after choosing your character, the sound disappears and the FPS begins to “stutter” like crazy. I checked the solution that you provided and attempted to try it, and what is interesting is after disabling Core 0 temporarily, the resources just instead moves on to another random Core and stays there until you disable that one and repeats itself. Prior to getting to the loading screen, all cores are equally distributed. I am using a Ryzen 7 2700x for my CPU. Any insight on what is specifically causing this behavior with the cores?

I see in the Discord that they mentioned to you about Nahimic and such software. From your description here my first thought would be that that is where you should start looking first before worrying about what my Core Switcher here does.

Keep in mind that it isn’t only Nahimic that can tank your FPS, you might have ASUS Sonic or Alienware SoundCenter etc… basically any pre-packaged audio management software seems to be prone to such behavior for some reason. Anything on your system like this that comes to mind for you? I see you mention the Realtek one - I don’t believe I’ve ever seen any reports that specifically found the Realtek one to cause issues yet but you could perhaps see if anything changes by shutting it down/disabling it.