[ENH] FasterDamageRecord (was: Re: [updates] 20 for 3.2alpha)

Daniel Vainsencher danielv at netvision.net.il
Fri Nov 23 16:28:32 UTC 2001


While we're looking at damage performance improvements...

This is a simple alternative heuristic for merging damage rectangles,
which also appears to be faster than the one introduced by recent
updates.

My benchmark - Large BouncingAtomMorphs without the "damage whole area"
optimization are faster with this damage recorder. In fact, if the morph
is big enough (about 3/4 screen) the damage "whole area trick" becomes a
deoptimization under this regime...

This allows some special case code to be removed from various classes
that had sometimes-sparse submorphs, including the halos.

from preamble:

"Change Set:		FasterDamageRecord
Date:			23 December 2000
Author:			Daniel Vainsencher

Uses alternative heuristic for recording damage -
for any new damage (that isn't completely contained by the old damage),
compare the costs of drawing it and each existing rect to the cost of
drawing them merged. If a merge with any is cheaper, merge them, and run
the same test on the new area. The approximation of costs use shoud
handle many cases well that previously required special attention. Test
with bouncing atoms, see them cluster."!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FasterDamageRecord.cs.gz
Type: application/octet-stream
Size: 1716 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20011123/17faba85/FasterDamageRecord.cs.obj


More information about the Squeak-dev mailing list