As promised, my focus since last week, aside from the occasional bugfix, has been mostly graphics performance. So far I've been able to shave off around an average of 0.5 ms on absolute minimum settings and around 1.0 ms on default settings via adjustments and optimizations - measured on a GTX 960. I'm trying to keep the visual fidelity as close to its current state as much as I can. I will also be working with Petur to ensure my optimizations place nice with his graphics overhaul.
These are the improvements so far:
- Reduced overall surface shader complexity
- Reduced water shader complexity
- Added new faster option for reflections (now default)
- Optimised bloom: now ~30% faster
- Optimised climate color grade LUT blending (5x faster)
- Now disabling climate LUT blend when color grading is off
- Optimised eye adaptation (2x faster)
- Default water quality now set to 1
The actual FPS delta is not obvious and depends on a lot of factors. Regardless, we have to keep at it because small changes will add up to something bigger at the end.
Since a lot of you seem frustrated that your high-end GPU is not giving your higher FPS than your friends running lower-end GPUs, you should note that your GPU is not the only important factor here. We are currently CPU-bound in a number of occasions, which means your GPU won't matter for FPS. In some cases, the situation even seems to get worse the longer we play. For example, Maurino and I were comparing performance on the same spot, the same server and same settings, and my FPS were consistently ~20% higher. Even though my GPU was a GTX 960 and his was a GTX 780, the area we were at was causing us to be CPU-bound where my slightly better CPU would shine the most (i7-6700K @ 4GHz vs i7-4930K @3.4GHz).
Naturally, we've also been dedicating resources to handle the CPU and memory situation as well. However, since part of it depends on the engine, we ask you to bear with us while we fix our stuff and put some pressure on Unity to improve theirs.