Cities: Skylines 2 has already become notorious for its poor performance, despite just launching two weeks ago. And an analysis (or autopsy) of the game has already been completed. While most city-building simulators are CPU-bound, Cities: Skylines 2 is strangely GPU-bottlenecked. Paavo, the programmer who authored the report, concluded that the game is missing key optimization features, indicating there wasn't enough time to include them.
One of the issues the report brings up is already widely known : the lack of level of detail (or LOD) models. When objects are far away, a game can use a model with a lower level of detail since the difference is imperceptible, improving performance. Just a day after the game launched, a Reddit user discovered every single NPC lacks a lower-quality LOD model for teeth, which are never even visible to the player.
But the teeth aren't the only problem, as the report says all NPCs and many models lack performance-optimized LODs. There's a pallet of gas canisters reportedly totaling 17,000 vertices, clotheslines requiring 25,000 vertices, and a pile of logs that uses up over 100,000 vertices. That makes the 6,108 vertices used by the NPCs' teeth pretty quaint.
If that wasn't bad enough, Cities: Skylines 2 has a very primitive object culling system, which is supposed to prevent the game from rendering stuff you can't see. However, the report notes only frustum, or viewing culling, is in the game, which is when objects outside the viewing angle are not rendered. Occlusion culling is not present, which means objects that are obscured by other objects are still fully rendered. This is why bystanders' teeth are still rendered even if they aren't visible.
Shadows also take up a large percentage of the GPU's time, and again it's down to an overkill amount of geometry that gets rendered. The game calculates the shadows that may or may not be cast by all 3D objects, without considering size or distance, so even shadows that wouldn't improve visual quality are rendered anyway.
The autopsy concludes that Cities: Skylines 2 renders way too much geometry due to a lack of proper object culling and LOD variants for models. There is also speculation that the developer, Colossal Order, expected Unity's built-in features to handle this for them. But perhaps those tools didn't work and a different solution had to be cobbled together before launch. The author however noted that "the issues are luckily quite easy to fix," so hopefully a future patch that vastly improves performance is on the horizon.