the client calls into the graphics library do not directly cause actual rendering, but make use of extensive indirection to resources, managed – thus retained – by the graphics library.[2] It does not preclude the use of double-buffering.[3]
Immediate mode is an alternative approach. Historically, retained mode has been the dominant style in GUI libraries;[4] however, both can coexist in the same library and are not necessarily exclusionary in practice.[5]
Overview
In retained mode the client calls do not directly cause actual rendering, but instead update an abstract internal model (typically a list of objects) which is maintained within the library's data space. This allows the library to optimize when actual rendering takes place along with the processing of related objects.[2]
^Feldmeier, Alex (October 12, 2013). "GUI Programming". UWP Computer Science and Software Engineering Technical Report. Retrieved 22 December 2019. Retained mode has been the standard for years. Just about every GUI is in retained mode.