D GUI Framework (responsive grid teaser)
Nick Sabalausky (Abscissa)
SeeWebsiteToContactMe at semitwist.com
Thu May 23 19:32:28 UTC 2019
On 5/22/19 6:33 PM, H. S. Teoh wrote:
> On Wed, May 22, 2019 at 02:18:58PM -0700, Manu via Digitalmars-d-announce wrote:
>> On Wed, May 22, 2019 at 10:20 AM Ola Fosheim Grøstad via
>> Digitalmars-d-announce <digitalmars-d-announce at puremagic.com> wrote:
> [...]
>>> But you shouldn't design a UI framework like a game engine.
>>>
>>> Especially not if you also want to run on embedded devices
>>> addressing pixels over I2C.
>>
>> I couldn't possibly agree less; I think cool kids would design
>> literally all computer software like a game engine, if they generally
>> cared about fluid experience, perf, and battery life.
> [...]
>
> Wait, wha...?! Write game-engine-like code if you care about *battery
> life*?? I mean... fluid experience, sure, perf, OK, but *battery
> life*?! Unless I've been living in the wrong universe all this time,
> that's gotta be the most incredible statement ever. I've yet to see a
> fluid, high-perf game engine *not* drain my battery like there's no
> tomorrow, and now you're telling me that I have to write code like a
> game engine in order to extend battery life?
>
> I think I need to sit down.
You're conflating "game engine" with "game" here. And YES, there is very
meaningful distinction:
Game engines *MUST* be *EFFICIENT* in order facilitate the demands the
games place on them. And "efficiency" *means* efficiency: it means
minimizing wasted processing, and that *inherently* means *both* speed
and battery.
The *games*, not the engines, then take that efficiency and use it to
fill the hardware to the absolute brim, maximizing detail and data and
overall lushness of the simulated world (and, in the case of indie
titles, it's also increasingly used to offset sloppy game code - with
engines like Unity, indie game programming is increasingly done by
people with very little programming experience). THAT is what kills
battery: Taking an otherwise efficient engine and using it to saturate
the hardware, thus trading battery for either maximal data being
processed or for lowering the programmer's barrier to entry.
Due to the very nature of "efficiency", the fundamental designs behind
any good game engine could just as easily be applied to minimizing
battery usage as they can be to maximizing CPU/GPU utilization.
More information about the Digitalmars-d-announce
mailing list