Hey all,
I’ve recently assembled an Intel 13900K system and use Windows 11 for gaming. Formerly, I’d been using a 9900K.
I noticed that a few of my older games would crash on startup. Further research led me down the path that for better compatibility, I should probably limit the cpu affinity of their process when that happens. I installed ProcessLasso for a better view, and worked around a few issues of these issues by launching my DRM-Free games by creating a batch file to execute them using the start command.
i.e. Start /affinity <affinity_bits>
(Note that asking Windows or ProcessLasso to change a cpu affinity after it’s started would not prevent a crash)
Where things completely fail hard is when dealing with Game Launcher DRM. As an example, when trying to launch the game “Far Cry 3”. The game executable launches into the Steam, which goes on to launch Ubisoft UPlay, which goes on to try to launch the proper game. The problem is that the affinity bits don’t appear to get passed on between parent or child processes, and even worse – the final game executable that ends up being launched is marked by Windows as having no parent process! Perhaps messages are passed around between the processes and it’s being launched by the uPlay DRM service in Windows itself and not the launcher?
I’ve also attempted setting the cpu affinity directly on the game launchers themselves, hoping that it would propagate down to child processes, and that hasn’t worked in the above case either.
I’d appreciate any suggestions people may have. There’s the obvious nuclear option to disable cores in UEFI, but I’d much rather not have to do that just to launch a game.
Thanks