About this mod
While playing on my 64-core AMD Threadripper, I would often get 5+ second stalls. This patch attempts to fix them.
- Permissions and credits
To install (assuming Steam):
- Go to the Library page for Assassin's Creed: Rogue
- Click the Gear and select Properties...
- On the Updates tab, under Automatic Updates, select: Only update this game when I launch it.
- On the Installed Files tab, click the Browse... button.
- Rename ACC.exe to ACC.save.exe
- Copy the new ACC.exe from this mod into the directory.
If the game gets updated again you will need to repeat these steps.
Technical Description
Using ETW/Windows Performance Analyzer and Superluminal profilers I was able to see that the main thread was blocked waiting on another thread that the Windows scheduler had pre-empted. Though CPU usage was not high, I speculated that the number of threads (~280) on my 64-core machine was excessive.
I disassembled the game and found all places calling GetSystemInfo() and patched over them reading the number of CPUs so that they would only see 8 CPUs. There was also a place calling GetLogicalProcessorInfo() (if it was provided by Windows), which I also patched over so that it would not call.