| Backing store has been discussed somewhat either here or in the X
conference. In general, backing store decreases performance of drawing
but improves performance of refreshing (after exposure). If you can
quickly refresh the display yourself (e.g., text or simple line
drawing), you should not use backing store and instead redraw after
exposure. If your drawing is very complex and you expect many
exposures, you should use backing store (if available). There's a
large middle ground where you have to trade off the reduced performance
(and increased memory use) of backing store with the faster redisplay.
Ken
|
| Backing store milage may vary. That is, backing store performance
impact will vary depending on the hardware, and the amount of work
that went into the implementation.
A truly dumb backing store implementation would always update backing
store regardless of the visibility of the window. A more intellegent
design might maintain only those parts that are obscured. Some backing
store designs might allocate a Pixmap of the same size as the window -
and backing store updates could cause Pixmap thrashing. While others
might create a number of smaller pixmaps for backing store, reducing
Pixmap resource contention problems, but possibly increasing backing
store update time.
Since backing store is provided as a "optimization" and may be
withdrawn at any time, this does not eliminate the need for the
client to maintain it's own ability to regenerate. If the client
truly does "regenerate" rather than maintaining it's own flavor of
backing store (via Pixmap, display list or such) - then Backing Store
*can* be a win. Especially if the implementation is relatively fast,
and the regeneration time is relatively high. A CAD application
(say like a PC board layout tool) is an example where most of the
screen is used, the cost to retrieve and redraw thousands of vectors
is high.
|