Restore modes

From Bennu Wiki
Jump to navigation Jump to search


Restore modes are used to define the type of restoration, needed to be applied to the screen background, by assigning them to the global variable restore_type. This influences if and how the background is restored after each frame.


Constant - Value - Description
NO_RESTORE - -1 - The background won't be restored (i.e. redrawn).
PARTIAL_RESTORE - 0 - The background will be restored in areas where graphics have been painted or text written (default).
COMPLETE_RESTORE - 1 - The background will be completely restored.


It is clear that completely restoring the background every frame is more expensive than updating only parts of it. However, detecting what parts need updating is no small thing either. So cost-wise both have their situations in which they are good.

PARTIAL_RESTORE is useful if there is relatively not much changing to the background. COMPLETE_RESTORE is useful if many parts of the background need restoration, like in the case of screen-wide partially transparent scrolls.

Be certain dump_type is compatible with the restore_type set, because some combinations can cause probably unwanted effects.

See also