> If true, the engine optimizes for low processor usage by only refreshing the screen if needed
https://docs.godotengine.org/en/stable/classes/class_os.html...
> If true, the engine optimizes for low processor usage by only refreshing the screen if needed
https://docs.godotengine.org/en/stable/classes/class_os.html...
Have both use the same specialised libraries.
If anyone wants inspiration, Winamp is the gold standard for media players with excellent GUI bling and skinning.
If your test involves two different GUI systems running the same 'specialised libraries', you are running the specialised libraries, not the GUI systems.
A media player involves heavy crunching and streaming and memory I/o, and access to the GPU if possible - these things that game engines excel at.
Most GOOD game engines are in fact an entire operating system, abstracting away the host operating system, and attempting to depend on it very minimally - giving coders an environment which does not have to conform to "business user" semantics.
This doesn't mean game engines don't burn through energy. But on mobile, at least, most of the good game engines do allow you to fine-tune your frame-rate such that, indeed, you don't need to update anything - video or stream - at all unless some event happens..
It would be an interesting test - but beware that there are multiple approaches, and even plain ol' definitions, for how a 'game engine' differentiates from an 'operating system'.
The two systems of thought have been intertwined, commercially, for decades...
You'd be amazed how much overhead a change can introduce even if the real work is done by a dedicated library. This is the whole point I was making.
eg A library like imgui that repeatedly redraws itself isn't actually that wasteful power wise if you tune it and make it fit for purpose. We've done exactly that for mobile. The simplicity of its approach enables all sorts of optimisations. Imgui is a straightforward animal that can be optimised in all sorts of directions, that is actually one of its drawcards. Reorientating it to output text has already been done - thats how flexible it can get.
I would rather see how they fare with a classic GUI like a text or spreadsheet editor. Maybe for simplicity sake a calculator or an IRC client, then you just have to join an active channel and let it run for a while.
> The way we have traditionally measured performance and optimized our games encouraged a lot of conditional operations -- recognizing that a particular operation doesn't need to be done in some subset of the operating states, and skipping it. This gives better demo timing numbers, but a huge amount of bugs are generated because skipping the expensive operation also usually skips some other state updating that turns out to be needed elsewhere.
> We definitely still have tasks that are performance intensive enough to need optimization, but the style gets applied as a matter of course in many cases where a performance benefit is negligible, but we still eat the bugs. Now that we are firmly decided on a 60hz game, worst case performance is more important than average case performance, so highly variable performance should be looked down on even more.
There was fascinating breakdown [2] of a single GTA V frame about five years back. It was a real eye-opener for me - whole full-screen rendering passes for things like water reflection and refraction when there isn't even any water visible in the scene.
[1] http://number-none.com/blow/john_carmack_on_inlined_code.htm...
[2] http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphic...