I just downloaded the free version of Unity 4 and I was surprised to see a huge performance drop in a relatively simple scene.
In the “Fantastic” settings I get:
Unity 3.5: 1000 FPS and main thread taking 1.0ms
Unity 4.0: 650 FPS with a main thread of 1.5ms
I first suspected Shuriken since I read in the release notes some “performance optimization” has been performed so I deleted my two running particle systems in the scene and this is surprising: Unity 3.x then reported 3600 FPS with a main thread of only 0.3ms and Unity 4 reported a slight increase to 720 FPS and the main thread was still running extremely high at 1.4ms.
I know performance is still great in both cases, but the scene is only a background scene so performance is of great importance since basically a whole game has to run on top =)
I should also say that I verified that the quality settings are the same for 3.x and 4.x during the test. I also include a screenshot of the stats boxes:
The Renderer seems to report the same performance in v3 and v4 so I don’t suspect it’s a Direct X or graphics issue. And I’m not sure if there is a reason for concern either because maybe Unity 4 just runs with some more overhead in the thread that won’t become a problem once more content is added to the scene?
Any thoughts or knowledge regarding this to share?
could it be quality settings being upgraded wrong / showing AA or some other stuff? settings might not always be preserved in an upgrade, so investigate to see that settings are identical across both.
I compared the quality settings and they were identical. Considering the stats reporting rendering time identical I don’t think it’s a graphics / quality issue either. it seems to be the thread that is taking much more time. I’ll compare two nearly empty projects next time I get to the computer.
I’m not sure if this relates to your problem but just in case I thought I would share it from the thread I posted for my fix for my Unity 4 running Slower than 3. Mine was also sluggish, Painting terrains and everything was slower,
I created a batch file that fixes the speed problem for Unity 4 until Unity can fix it. A friend should me how to do it form the command line and I made a batch file to automate it. here is the link. Contact me if you have trouble downloading it and I can email the file to you. This forces opengl.
I too have smart doctor on my PC and it seems to evade my deleting it. A friend has the issue without smart doctor though. Enjoy. Now when you paint terrains or do other things it will be just as fast as before Unity 4.0.1.
Since I’ve been working on a package from the Asset Store I use 3.5 still but I plan to have another look at the performance issue in 4 because I still don’t know what the cause is. It will be interesting when pack my scene to the limit at about 60 FPS to see if the difference is negligible between 3.5 and 4 or whether it still results in half the frame rate. I’ll report back in this thread.