0 votes

I have a simple scene of cubes constantly rotating. I opened Godot profiler and it shows that the "Physics Frame Time" is constantly 50% of the entire frame time (0.016667 secs).
The devices on which I am running the game are getting hot pretty fast.

I was wondering if this is legitimate behavior of 3D games?

asked Feb 23 in Engine by bashan (47 points)

1 Answer

+3 votes

As you seem to not use any physics in your game my guess is that the indicated Physics Frame Time just indicates the physics interval and not the time consumed by physics handlers.

You're not telling which devices you do target but a mobile device running at 60fps might consume some energy.

So if you want to let devices consume a bit less energy, I would lower the fps (if acceptable) to i.e. 30 fps. Engine.target_fps = 30

If you target Android devices then you might consider using the GLES2 renderer. Many devices perform much better on GLES2 and Godot does not contain much workarounds for the buggy GLES3 implementations on many Android devices so you might also run into much more incompatibility issues using GLES3. (seems to be less an issue on iOS)

Finally energy consumption/performance also depends on the device resolutions. Many mobile devices have ridiculous high display resolutions which are (in terms of fragment shaders) quite demanding when you render in original resolution. It may be sufficient to render on a lower resolution and scale it up to display size.
See the section about "Stretch Shrink" here:
https://docs.godotengine.org/en/3.2/tutorials/viewports/multiple_resolutions.html

Still even with GLES2, 30fs and maybe upscaled graphics the power usage will be considerably higher. And I'd say that this is normal.

answered Feb 24 by wombatstampede (3,193 points)

thanks for the detailed answer.

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.