GUI: Less CPU-intensive credits scroll
|Reported by:||eriktorbjorn||Owned by:||fingolfin|
Currently the credits scroll in the ScummVM "About" window is agonizingly slow. This is because each time the text is updated it issues a full redraw, which will redraw both of the active dialogs. Both of them will call the blendRect() function to draw the transparent background.
On my 450 MHz PIII each call to blendRect() takes something like a tenth of a second, possibly a bit longer. The overhead from drawing the remaining parts of the dialogs is trivial by comparision.
This patch is an attempt to speed things up. The first time the dialog is drawn, it makes a "snapshot" of the blended background. Then, instead of issuing a full redraw every time it redraws only the "About" dialog itself, and this time it uses that snapshot as background. (The snapshot will be regenerated if the screen changes.)
It is, perhaps, a bit hackish, but I really don't see any other way.
Ticket imported from: #1183808. Ticket imported from: patches/524.