Hacker News new | ask | show | jobs
by theclaw 2607 days ago
In the context of creating debugging UIs for games and graphics applications, Dear imGUI is a godsend. Programmers love it because there is literally only the code to worry about. It's very easy to get it up and running, and all the code that handles the UI drawing and interaction is in one place so it's easy to reason about.

It works very well in the context where you already have fast graphics and an update loop, and you're already expecting to redraw the whole screen every frame. It does not really suit more complex, text-heavy UIs where you're rendering thousands of glyphs with proper kerning and ligatures and anti-aliasing, etc, and want the result of that hard work to be retained in the framebuffer unless it absolutely needs to change.

1 comments

> want the result of that hard work to be retained in the framebuffer unless it absolutely needs to change

I think immediate mode GUI libraries can get around this issue by still caching and reusing between frames. Conrod does this by still having the state in the background although you are programming to an immediate mode API:

https://docs.rs/conrod/latest/conrod/guide/chapter_1/index.h...

That's a bit antithetical, given the other side of the debate being Retained Mode GUIs.

That said it's a good middle ground. Use whatever API you prefer over a well optimized implementation.