Godot profiling 3D scene causing device to get pretty warm

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By bashan

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?

:bust_in_silhouette: Reply From: wombatstampede

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:

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

thanks for the detailed answer.

bashan | 2020-02-24 20:48