Variant: Both (ScreenPlay and non-ScreenPlay). Target audience: Device creators.
The classes involved with redraw stores are as follows:
Redraw drawing takes place as follows:
A call to
Next, a call to
Draw operations take place.
Finally there is a call to
In this sequence, the draw operations within the
It is important to bracket all drawing within
For more information, see
When the Window Server receives a batch of redraw drawing, everything between a BeginRedraw/EndRedraw bracket is stored in a single redraw segment. The segment is marked as
Redraw segments have a region to which they apply. For
What happens to drawing that is received between an
In ScreenPlay, non-redraw drawing is not stored in a segment but instead triggers the Window Server to invalidate the entire window. This means that the client application must then perform a full window redraw.
In the non-ScreenPlay variant, non-redraw drawing is stored in a segment marked as
When playback is required, the redraw store goes through the redraw segments and replays them if the region for the segment intersects the region that is to be redrawn. It follows from the way that they are managed that the regions of redraw segments are mutually disjoint. This means that in ScreenPlay they can be replayed in any order. This is also true in the non-ScreenPlay when there are only redraw segments present.
In the non-ScreenPlay variant, any non-redraw segments are replayed in earliest-first order, because they draw on top of earlier drawing.
Variant: Non-ScreenPlay only.
Non-redraw segments can cause inefficient operation of redraw stores. For this reason, in the non-ScreenPlay variant where non-redraw segments are still used, the Window Server "ages" them. That is, non-redraw segments are considered to have a finite lifetime, after which they are discarded. When a non-redraw segment is discarded, the Window Server makes a redraw request to the client asking it to provide new draw operations for the invalid region.
The lifetime for non-redraw segments is set in the
Variant: Both (ScreenPlay and non-ScreenPlay).
Another
Variant: Both (ScreenPlay and non-ScreenPlay). Target audience: +Device creators.
+The classes involved with redraw stores are as follows:
+
Redraw drawing takes place as follows:
+A call to
Next, a call to
Draw operations take +place.
Finally there is a call
+to
In this sequence, the draw operations within the
It is important to bracket all drawing within
For more information, see
When the
+Window Server receives a batch of redraw drawing, everything between a BeginRedraw/EndRedraw
+bracket is stored in a single redraw segment. The segment is marked
+as
Redraw
+segments have a region to which they apply. For
What
+happens to drawing that is received between an
In ScreenPlay, non-redraw +drawing is not stored in a segment but instead triggers the Window Server +to invalidate the entire window. This means that the client application must +then perform a full window redraw.
In the non-ScreenPlay
+variant, non-redraw drawing is stored in a segment marked as
When playback is required, +the redraw store goes through the redraw segments and replays them if the +region for the segment intersects the region that is to be redrawn. It follows +from the way that they are managed that the regions of redraw segments are +mutually disjoint. This means that in ScreenPlay they can be replayed in any +order. This is also true in the non-ScreenPlay when there are only redraw +segments present.
In the non-ScreenPlay variant, any non-redraw segments +are replayed in earliest-first order, because they draw on top of earlier +drawing.
Variant: +Non-ScreenPlay only.
Non-redraw segments can cause inefficient operation +of redraw stores. For this reason, in the non-ScreenPlay variant where non-redraw +segments are still used, the Window Server "ages" them. That is, non-redraw +segments are considered to have a finite lifetime, after which they are discarded. +When a non-redraw segment is discarded, the Window Server makes a redraw request +to the client asking it to provide new draw operations for the invalid region.
The
+lifetime for non-redraw segments is set in the
Variant: Both (ScreenPlay +and non-ScreenPlay).
Another