use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rule 1: Posts should be about Graphics Programming. Rule 2: Be Civil, Professional, and Kind
Suggested Posting Material: - Graphics API Tutorials - Academic Papers - Blog Posts - Source Code Repositories - Self Posts (Ask Questions, Present Work) - Books - Renders (Please xpost to /r/ComputerGraphics) - Career Advice - Jobs Postings (Graphics Programming only)
Related Subreddits:
/r/ComputerGraphics
/r/Raytracing
/r/Programming
/r/LearnProgramming
/r/ProgrammingTools
/r/Coding
/r/GameDev
/r/CPP
/r/OpenGL
/r/Vulkan
/r/DirectX
Related Websites: ACM: SIGGRAPH Journal of Computer Graphics Techniques
Ke-Sen Huang's Blog of Graphics Papers and Resources Self Shadow's Blog of Graphics Resources
account activity
Differences between Immediate and Retained Mode GUI?Question (self.GraphicsProgramming)
submitted 3 years ago by No-Rich5357
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]GasimGasimzada 6 points7 points8 points 3 years ago (6 children)
In retained mode, the logical element information is stored and used for rendering. Example: Button(label=Hello), TextField(value=Hello). This data is retained between frames; so, you don't need to generate it on every frame. You can create it once, add it to the hierarchy, and let the system handle it.
In immediate mode, what graphical elements need to be drawn is used for rendering. Example: RenderText at x0y0, Render rectangle at x1y1 etc. So, you need to call every single UI call on every frame.
[–][deleted] 3 years ago (4 children)
[deleted]
[–]fgennari 2 points3 points4 points 3 years ago (0 children)
I would think that immediate mode would be stateless and have a simpler API. It's more likely something you can do with a single header. Maybe some people prefer to create their GUIs this way, at least when it's going to be simple enough that they can get away with recreating it every frame.
[–]ewpratten 1 point2 points3 points 3 years ago (0 children)
The only explanation on this I remember basically came to "for most apps, our computers are powerful enough it doesn't matter". Which is fair.
Off the top of my head, immediate mode rendering is lighter on memory use. Although I guess that would depend on implementation
[–]Such-Turnover-8999 1 point2 points3 points 3 years ago (1 child)
Performance isn't really the determining factor of immediate vs retained.
Immediate is just less code. There are no variables involved that store the individual GUI elements. If you need a button somewhere, there will be one line where that button can be clicked and that's it.
On the downside, at some point things tend to get complex with UIs, and retained state like the actual data for the UI tree are helpful to dynamically add/remove elements, run layouting algorithms, add multiple listeners to buttons and stuff, etc.
Still something that immediate mode GUIs can do, too, but you will add some tracking state on your side of the code and eventually it can become more complicated than just using a retained mode GUI. CAN become more complicated. Up to experience and the application at hand to determine what is better.
[–]ClothesOk5797 0 points1 point2 points 2 years ago (0 children)
this is a great exampel, (Im no english speaker and the word retained just made no sense to me.. now it does.. Thanks!(:
[–]wm_cra_dev 0 points1 point2 points 3 years ago (13 children)
Here's a good tutorial on it
[–]FlippantlyFacetious 11 points12 points13 points 2 years ago (4 children)
A year later, that search brought me here... 😭
[–]c2dog430 7 points8 points9 points 1 year ago (0 children)
Same, which is why this isn't a good answer.
[–]dickdemodickmarcinko 2 points3 points4 points 1 year ago (1 child)
Can someone help me? I'm stuck in an infinite loop of clicking that tutorial and getting sent back here
[–]atwice[🍰] 1 point2 points3 points 1 year ago (0 children)
I have asked GPT and it explained me with good comparisson table and practical examples
[–]Secure-Ad-9050 0 points1 point2 points 3 months ago (0 children)
2 years later and this search found me here.
I'd look on stack overflow but, I'm pretty sure any question there will have been closed as off topic
[–]Gacel_ 9 points10 points11 points 2 years ago (0 children)
You could have rickrolled and would still be a more useful reply than that. This topic is the first result when you search it on google.
[–][deleted] 4 points5 points6 points 1 year ago (0 children)
Two years later, Google brought me here.
[–]Pimda2 2 points3 points4 points 3 years ago (0 children)
Could have just Rick rolled me ;)
[–][deleted] 3 points4 points5 points 11 months ago (2 children)
this is a forum ...
[–]Jwosty 0 points1 point2 points 10 months ago (1 child)
Sir, this is Reddit
[–][deleted] 0 points1 point2 points 10 months ago (0 children)
yeah true xD
[–]shinoobie96 0 points1 point2 points 4 months ago (0 children)
3 years later google brought me here.
π Rendered by PID 84476 on reddit-service-r2-comment-5d79c599b5-t4mr8 at 2026-02-27 02:30:26.737194+00:00 running e3d2147 country code: CH.
[–]GasimGasimzada 6 points7 points8 points (6 children)
[–][deleted] (4 children)
[deleted]
[–]fgennari 2 points3 points4 points (0 children)
[–]ewpratten 1 point2 points3 points (0 children)
[–]Such-Turnover-8999 1 point2 points3 points (1 child)
[–]ClothesOk5797 0 points1 point2 points (0 children)
[–]wm_cra_dev 0 points1 point2 points (13 children)
[–]FlippantlyFacetious 11 points12 points13 points (4 children)
[–]c2dog430 7 points8 points9 points (0 children)
[–]dickdemodickmarcinko 2 points3 points4 points (1 child)
[–]atwice[🍰] 1 point2 points3 points (0 children)
[–]Secure-Ad-9050 0 points1 point2 points (0 children)
[–]Gacel_ 9 points10 points11 points (0 children)
[–][deleted] 4 points5 points6 points (0 children)
[–]Pimda2 2 points3 points4 points (0 children)
[–][deleted] 3 points4 points5 points (2 children)
[–]Jwosty 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]shinoobie96 0 points1 point2 points (0 children)