I am talking about performance issues that other users also asked a lot of times but that are still present and unanswered.
I will not talk about tons of weird bugs in 3.x branch that makes it still hard to use. I am using 2.x that is pretty polished and have almost no usability issues. Both branches have the same performance problems though.
So I am talking about the performance of the most basic mode - windows build of simpliest 2d game. 2.x and 3.x branches have the same problems so I've used 3.2.1-stable for testing(so I wouldn't get yelled that I use depricated and unsupported version).
And the problem - Godot engine is unable to provide stable 60fps in a most simple 2D scene with single sprite on moving background!
The project I've been using for testing:
If you run it, the first you get pretty stable result on the original project resolution:
It is not very stable though, you get occasional stutter every several seconds but overall performance is smooth enough.
But if you resize window to bigger size, you instantly get stuttering and unstable frame rate:
I couldn't check the fullscreen on 3.x since it is broken here, but on 2.x in fullscreen you get the same stutter.
Nothing changes after building it into release build! The same stutter. I repeat - nothing changes in exported build! So please don't start "just export it an performance will increase!" on me.
And please, PLEASE, don't give me the usual "you machine is not powerful enough, maybe you are using integrated gpu, your code have infinite loops" thing. There is no problems with my rig, it have no problems running Cuphead in 2560x1440 with no performance issues, the very same scene on Unity is perfectly smooth and have no stuttering, and the very same scene written on simple OpenGL without vsync gives me something like 2400 FPS.
So the problem is obviously in the Godot engine.
The most baffling thing is that performance drop have some clear edge depending of the game resolution. I've got curious and tried slowly expand window - and while window width was 2400 pixels it was still running smoothly, but at 2405 pixels width there was already unbearable stuttering.
Ah, yes, both GLES2 and GLES3 give the same result.
Summary: Adding new features is nice and good but I personally think they will be pretty useless if the engine itself cannot be used in production due to basic performance issues. Though for the time being it seems that developers are fine with Godot staying "prototyping engine" forever.
I've been using Godot for three years and I really love it for it great architecture and easiness to use. I love that it have every needed tool out from the box. I love simple and logical way of constructing scenes with nodes. The development speed with Godot is really amazing, you will never get so much fun from making games with other engines.
So it really pains me that I cannot use it for final products. I was forced to move to Unity, and though I pretty much hate it for its cumbersomeness, unfriendliness, lack of the basic tools, really awful monetization policy, it doesn't have any problems in the most important aspects, like performance or console export. But it is still a great pain to use, spending a week to code up something that you prototyped in two hours in Godot is really depressing.