Assassin’s Creed: Odyssey is the newest addition to the series, this time set is in ancient Greece, following a mercenary who chooses to fight either for Athens or Sparta. Although it was a decent sequel, there are quite a few problems about this game that bothered the players. One of the most jarring downsides of this game is the poor optimization for the PC. This is not the first time that Assassin’s Creed games have poor optimization. Some of the players still remember the third sequel, set in Post-colonial America, which suffered from horrendous frame drops in the cities. As it’s turned out, Odyssey did a similar thing. Everyone was blaming DRM for that poor performance, but the truth is a bit different.
Last week, a modder called Kaldaien claimed that DRM is not to blame for the poor performance of Assassin’s Creed: Odyssey, but “insane driver overhead caused by really naive resource management”. He compared the situation with the Batman: Arkham Knight game, which was also infamously unoptimized for the PC. However, the reasons for the bad performance are totally opposite comparing to Arkham Knight. Assassins Creed; Odyssey engine has too much conservative resource ceiling for textures. Therefore, it loads, then unloads, then reloads the same assets for hundreds of thousands of times over the course of an hour, while VRAM was only 1/4 filled on GTX 1080 Ti the modder was using.
Ubisoft, the developer of the game, has a long history of badly optimized games. A solution the modder is proposing is that Ubisoft needs to work on some kind of hysteresis and rate control in their resource management. It is not DRM to blame for the high CPU load on the PC, but insane driver overhead, caused by naive resource management for such a vast open world game.
He concludes that this error should be easily fixable, but the developer team apparently focuses on the consoles, because it appears there is no consideration given to the significantly higher throughput on PC storage devices, like SSDs. The faster the disc and more CPU cores you have, the more unstable and unpredictable the performance of this game will be.
He added that most of these issues can be solved by swapping the thread priority on the asynchronous file I/O completion thread with the one reading from disc, since the priority of the async thread is too high, and thread that reads from disc needs a priority boost. It seems that Arkham Knight happened again and no one learned anything from it.