"Andreas Raab" andreas.raab@gmx.de wrote:
Lex,
As for scrolling speed, note that it is hard for ScrollPane to do better. The root problem is that the submorphs ivar is a simple Array; a fancier data structure is necessary.
Measuring it a little I found a very specific hot-spot there. Turns out that scroll panes spend ages in computing the local submorph bounds of the transform which can be trivially cached. Try it!
Oh, well neat! This still doesn't help much with the initial display after a list changes, does it? I seem to remember profiling and finding that the bottleneck there was all the StringMorph's resizing themselves.
Anyway, for Celeste a definite slow part is just calculating all the strings, and you still need a tweaked PLM to avoid this.
Lex