I have a very serious performance issue in Unity 5. The frame rate is much lower than in Unity 4.x. It’s considered about not just 1 project, but each project I have, even new created ones. I’ll simply illustrate everything.
Here’s an empty Unity 5 scene:
and with opened profiler: and with opened frame debugger:As you can see there’s 300 fps(which is very bad considering there’s a high-end gpu in the PC), and with opened profiler fps is much higher, and with frame debugger frame rate is perfectly normal as it’s in Unity 4. This is not just a problem in the editor, it’s the same issue in the build as well.
Here’s the same project in Unity 4 on the same machine:
and here Gfx.Waitforpresent is not causing lags:Here’s tests from another machine, which is much stronger than the previous one:
empty scene: Imgur: The magic of the Internet and with profiler: Imgur: The magic of the Internet
As you can see here’s not much of a difference(considering both is high fps), but still with profiler opened there’s 2000 frames more. This is a video which can give a bit better illustration of the problem:
https://www.youtube.com/watch?v=3VLtBwX4Ops
Keep in mind that this fps in stats is different than real fps in game, and this lag spikes causing constant low fps in game.
Imgur: The magic of the Internet When the scene is live and this spike always in center in profiler, it just changes a bit ± and in status there’s 13000 fps and it drops for 1 second to 5000 because of this spike each interval of few seconds.
Looks like Unity 5 conflicting with hardware somehow, but hard to tell from my side as I don’t have any valid proof of that, but this. The first machine has a nvidia card, and the second one has ati radeon. How can it be that when you open profiler fps is getting better? But seriously much better? Also if it was just an editor thing, why is fps low in builds too?
In Unity 5 I have 50 fps when I had 700-1000 with Unity 4. If I will compile some game in Unity 4 I am sure that I will have 1000 fps without any problems cause in build vsync will be turned off cause of video driver so Gfx.WaitForPresent is actual PROBLEM(seems like).