Engineers analyze why ``Cities: Skylines 2'', the long-awaited sequel to the popular city development sim, has such poor performance



The urban development simulation game '

Cities: Skylines 2 ', which is a sequel to Cities : Skylines, was released on October 25, 2023. Cities: Skylines 2 was highly anticipated as the official sequel to the popular city development simulation, but at the time of writing there were more than 20,000 reviews on Steam , with mixed reviews and bugs. Several issues have been pointed out, including : Engineer Paavo analyzed why the performance of Cities: Skylines 2 did not reach a certain level.

Why Cities: Skylines 2 performs poorly - paavohtl's blog
https://blog.paavo.me/cities-skylines-2-performance/



There were ominous signs that Cities: Skylines 2 would be faring well ahead of its release, including the minimum system requirements being raised a month before release and the console release date being pushed back to 2024. It seems like it is.

Additionally, an early access version of the game was provided to YouTubers and streamers prior to release, but reviews regarding the game's performance were prohibited. Pre-release games often receive performance optimizations and other fixes right before release, so while this type of restriction is not unusual, it's also not a good sign. ” Paavo points out.

Furthermore, Colossal Order , the developer of Cities: Skylines 2, issued an apology for the game's poor performance a week before its release, and the developer acknowledged that the game was 'poorly made.' I can see it.

Updates on Modding and Performance for Cities: Skylines II | Paradox Interactive Forums
https://forum.paradoxplaza.com/forum/threads/updates-on-modding-and-performance-for-cities-skylines-ii.1601865/



Cities: Skylines 2 was released after such turmoil, but it has the problem of unstable frame rate during gameplay. It seems that there are cases where it is difficult to run at high frame rates in this type of city development simulation, but in the case of Cities: Skylines 2, there are other reasons such as ``It puts an excessive load on the GPU in most situations.'' It looks slightly different. Most simulation games, including the previous work Cities: Skylines, are designed to place a high load on the CPU, and simulation games that place a high load on the GPU are quite rare.

Even though it's GPU-intensive, Cities: Skylines 2's graphics aren't all that great either. Although it is certainly a significant upgrade compared to the previous title Cities: Skylines, the graphics are clearly inferior compared to competing titles such as Anno 1800 (released in 2019), and the frame rate is still strangely low. Paavo says it's 'very puzzling' that he would do this.

Also, in Cities: Skylines 2, it seems that it will finally be possible to play the game at 1080p / 60fps using a graphics card that costs about 1000 to 2000 euros (about 160,000 to 320,000 yen). However, in the case of Alan Wake 2 , which was released around the same time and is known for its extremely detailed graphics, even with all graphics settings including path tracing enabled, the same graphics card and the same frame rate (60fps) ), you can play the game effortlessly at 1440p resolution. Paavo points out that this is a good example of how Cities: Skylines 2's system requirements are unusually strict.

In fact, Mr. Paavo played Cities: Skylines 2 on a ``mid-spec gaming PC'' using an NVIDIA RTX3080 graphics card, an AMD Ryzen 7 5800X CPU, and a 5120 x 1440 pixel super ultrawide monitor. However, even though the GPU usage was 100% at the game's startup screen, the frame rate was unusually low at 7fps. Paavo says that he was able to disable depth of field, motion blur, volume effects, etc. from the settings and finally succeeded in returning the frame rate to 90fps.



Since Cities: Skylines 2 is produced with Unity, it seems that the game can be easily decompiled using a .NET decompiler. Mr. Paavo said that he used

dotPeek to analyze the code, but static analysis did not reveal anything specifically about the problem with the game's rendering performance. Paavo deduced that there was a problem with rendering the game screen, so he used Renderdoc , an open source graphic debugger.

According to Renderdoc, Cities: Skylines 2 took about 87.8 milliseconds to render one frame, resulting in an average frame rate of 11.4 fps.



In addition, when checking the numbers output during rendering with Renderdoc, it seems that some numbers seem too high, such as '6705 drawing calls' and '53361 API calls', but only limited information is available. 'We couldn't determine what was wrong,' Paavo said. Also, it seems that one of the mysterious points was that it uses 6.7GB of VRAM.

Cities: Skylines 2 implements its own virtual texturing (texture streaming system). Virtual texturing is a technique for loading and managing texture data in a potentially more memory efficient manner than the traditional method of using one GPU texture per texture asset. Although virtual texturing is very sophisticated in theory, it comes with many trade-offs and implementation is fraught with problems.



Based on multiple analyses, Paavo says, ``The reason why Cities: Skylines 2 places an excessive load on the GPU can be summarized simply by saying, ``The game throws a lot of unnecessary geometry on the GPU, so the available rasterization performance is 'This is because the game will be severely restricted.' Additionally, Cities: Skylines 2 employs its own culling implementation instead of Unity's built-in solution, stating that ``Unity's DOTS integration caused Colossal Order to have to implement significant portions of its graphics itself, causing problems.'' I suspect that this may have happened.

Paavo said, ``Colossal Order bet on Unity's new technology (DOTS), and although this brought huge profits, it seems to have brought another headache (the problem of overloading the GPU). This kind of thing is not uncommon in software development, and as a web developer myself, I have experienced it in my day job. ” and chose DOTS as the architecture to increase the scale of the simulation, which led to great success in most aspects. However, as Colossal Order progressed in development, it encountered problems that the official Unity solution could not address. I think they realized this and had to switch to custom solutions like culling, skeleton animation, texture streaming, etc. Then, due to financial or publisher pressure, the system was not yet sophisticated and they were unable to make the game work. I think they were forced to release it,'' he said, speculating why Cities: Skylines 2 began to overload the GPU.

in Game, Posted by logu_ii