Could immediate mode be the future of GUIs?

https://games.greggman.com/game/imgui-future/

I think so...

#notedeck

Reply to this note

Please Login to reply.

Discussion

On Desktop it could work. On Mobile, It all depends on how much battery it consumes. Games (which usually do immediate modes) tend to reduce a 4-6 hr workload to just a couple of hours. Most of that is due to the aggressive rendering stack. Especially now with local adaptive refresh rate of the new displays...

egui doesn't render continuously so there's that

from my testing notedeck uses wayyy less cpu than the retained swiftui stack. swiftui spends so much time managing the scene graph and deltas. its one of the biggest performance issues on iOS. with a frame rendering in less than a millisecond, and it rendering non-continuously, I'm pretty optimistic about battery.

this makes a lot of sense to me

Maybe I am misunderstanding. Does the reactor/event loop call your update path continuously? Net effect is you render that items with each tick rather than on event which I presume results in continuous cpu load. ??

In my case, since I'm not in a realtime video game context, frames are "reactive" and are triggered on wakeup callbacks: such as an event coming off a subscription, network activity, etc. I also just render at least once every second so that timestamps update, but I don't need to.

if you have something that is animating, the thing that is animating will request to redraw another frame while its animating, etc. anything on the screen can request a redraw at any time.

render on demand vs render full frame with each tick of the event loop? continuous cpu load vs not

yeah there's no need to have continuous cpu load if nothing is updating. its on demand in egui.