–5 votes

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:
https://drive.google.com/file/d/1_ZY0NCSd4rWi3xuZHDIoWSLyTHTVj4WV/view?usp=sharing

If you run it, the first you get pretty stable result on the original project resolution:
https://drive.google.com/open?id=1YikKZwTcauTtKHehDeUpLpGd68EJX5Wl
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:
https://drive.google.com/open?id=1_i8HXddoLKM8ZYE2b1ML09t9kedIatex
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.

asked Mar 29 in Engine by MeiHouwang (16 points)

I have no performance issues and my game is almost done and there are tons of games made with Godot to. Any problems your having is because of bad setup and or coding on your part.

Oh and you might need to simply turn on pixel snap.

Merlin1846:
Well, there are also tons of users reporting performance problems. "I have the same hand and no problems with it" is the most unprofessional way of doing things.
Also I've uploaded test project, please be so kind and point out what exact problems with coding it have. And please elaborate how come pixel snap going to fix unstable frame times.

Try using the smoothing add-on to alleviate some of the stuttering.

1 Answer

+2 votes

Well, that is, really unnecessary man.

Cuphead was made on a different engine, launched in 2005 with 15 years of devlopment equipped with dedicated teams. Godot is a new, fresh engine, you just cannot compare the two engines like that.

Now, 4.0 is just around the corner sailing with Vulkan onboard, can't you just, wait for Godot sir?

answered Mar 30 by The_Black_Chess_King (265 points)

What is really unnecessary is sweeping dust under the carpet and pretending that fundamental problem does not exists.
I think that 5 years of development is more than enough to make an engine that wouldn't stugger on an empty scene.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.