Cities: Skylines II is built for the future with modern hardware in mind, allowing us to add more depth and detail to the game than its predecessor had. Earlier this month, we shared a note on performance as we had not reached the benchmark target we had set for the game. Following this, we have seen some concerns about performance and what it means for the game as a whole. We’d like to give some context to the issues the game is currently facing, what we’re doing to address them, and what you can do if you are among the players experiencing performance issues.
Firstly, we want to assure you that the issues are not deeply rooted in the game’s foundation, so we fully expect to be able to improve performance going forward. The issues we are currently facing are tied to the rendering of the game, and decreasing the quality of visual effects such as Depth of Field, Global Illumination, and Volumetrics will get you a fair performance without affecting simulation - at the cost of some eye candy. If you experience low FPS we recommend the following:
WHAT HAPPENS POST-RELEASE
Following the release, we intend to push a series of small patches (and likely a big one) as we significantly improve different areas of performance. We have identified some issues tied to certain hardware setups that yielded unexpected results, and following those discoveries, we're working on improvements to:
- Remove stutters, generally caused by some synchronization condition in the simulation. They can vary greatly from one CPU to another, as well as how your city is built.
- Optimize and balance GPU performances by reducing the number of vertices processed per frame and optimizing/balancing the effects that affect fillrate (mainly Depth of Field, Global Illumination, and Volumetrics), which you can turn off or reduce in the settings for the time being to get a decent FPS.
- Pushing any CPU optimizations that are not already done that we come across in this process.
It’s worth noting that balancing GPU performances does not mean reducing quality overall but, for example, taking fewer samples with smarter distribution to achieve identical or very similar results.
We are also looking at expanding the options for upscaling solutions. Right now, the game includes AMD FSR1, which does not look that good when the scale ratio is 50% (you can enable it with Dynamic resolution scale setting), but it is supported by Unity out of the box, so it made sense to include.
Both FSR2 and DLSS2 require the use of Temporal Anti-aliasing, which is not possible at the moment due to some objects being incompatible with that technique. We are currently working towards making this possible, which will not only help to boost performances but also provide a better quality anti-aliasing solution than the one we currently use (SMAA by default).
OUR GOALS
With the upcoming patches, the situation will largely improve with default settings. It is worth mentioning that for a game like this, the performance target is to run at a steady 30FPS minimum. There is no real benefit in a city builder to aim for higher FPS (unlike a multiplayer shooter) as a growing city will inevitably become CPU-bound. What matters more with this type of game is to avoid stutters and have a responsive UI.
For that reason, our simulation is also built around an expected update rate given 30fps. However, it does not hurt to get 60fps as it can contribute to better visuals in relation to temporal effects, so while our target is 30fps, we don't intend to limit or stop the optimization work just because we reach it on the recommended hardware. We just don't believe there would be a long-term benefit in setting the target to 60fps, especially because we face rendering challenges both from close-ups and far distances.
A NOTE ON RELEASE TIMING
While some setups on PC have challenges, we concluded the performance is not a dealbreaker for all the players. For us, the number one priority is for the players to have fun with the game, and we had seen enough feedback from players enjoying the game that it would be more unfair to postpone. We know we will keep working on the game and do our best to fix issues as fast as possible, so we wanted to respect the announced release date and allow people to start playing the game.