A week ago I was forced to update Unity from 5.4 (5.4.5p5) to 2017.2 (2017.2.0p4). This happened because MacOS has been updated to High Sierra and Unity 5.4 doesn’t support new MacOS file system (APFS).
At the forum (see the following link) - Unity and macOS 10.13 (High Sierra) was mentioned: “There will be no Unity 5.4.x fixes for High Sierra, you have to either keep your machines on macOS 10.12 or upgrade your project to Unity 5.5.x and later”.
So, I tried all releases from 5.5 to 2017.2.
To my deep regret, on all versions, I encountered significant performance degradation compared with 5.4.
The specificity of our project is in models with a complex hierarchy and a large number of details. On the screenshot below you can see that Vought F4U Corsair model contains about 700 parts and 250k polygons with seven textures and one specular shader, optimised for mobile devices. It’s one of our most complicated model used for benchmarking, other models are much simpler.
But performance drop can be seen in the other models also.
Benchmark results 5.4.5 → 2017.2.0
Xiaomi Redmi Note3, 2016: 45 -> 30 (33%)
Xiaomi MiMax2, 2017 34 -> 23 (32%)
Samsung Galaxy S5, 2014 25 -> 18 (28%)
Amazon FirePhone, 2014 39 -> 29 (25%)
Huawei M3, 2016 35 -> 29 (17%)
Samsung Note4, 2014 35 -> 30 (14%)
Lenovo A Plus, 2016: 16 -> 14 (13%)
Samsung Galaxy Tab A, 2016: 27 -> 24 (11%)
As you can see, this performance drop affects modern and old devices, and percentage can reach 33%. Despite drop level different for devices, we can’t allow inconvenience of our users – it will cause lots of negative feedbacks and game rating decrease.
I searched for similar problems, found several discussions but they didn’t help. Most of them advised to turn on Multithreaded Render (already turned on), disable OpenGLES 3 (helped a little on the some devices, but caused even more performance drop on the others), or optimise scene (impossible, the scene contains only 3d model, without physic/animation/AI/effects/etc.).
So, release the game with such performance degradation is definitely not an option. Now I have to return back to the Unity 5.4.5. This is even worse because I have to roll back the MacOS version to Sierra…
If some Unity engineers are interested in resolving this problem – I’ll be happy to cooperate. I can provide anything to replicate those results.
Here you can find some screenshots of 5.4.5p5 and 2017.2.0p4 versions made in the profiler (full resolution of every screenshot is provided):
5.4.5p5 CPU. Full resolution >>
5.4.5p5 Render. Full resolution >>
2017.2.0p4 CPU. Full resolution >>
2017.2.0p4 Render. Full resolution >>