3.9 browser speed
Andreas Raab
andreas.raab at gmx.de
Sat Oct 21 19:41:52 UTC 2006
Hi Guys -
I noticed that briefly yesterday but did some more investigation today
and it turns out that the tools in 3.9 have become *really* slow. And
it's not just because of the TTF caching. I turned off TTFs completely
and noticed that things were still slow and then I devised a little
benchmark:
win := Browser openBrowser topView.
win extent: 600 at 350.
br := win model.
br systemCategoryListIndex: 1.
World doOneCycle.
Transcript cr; show: [1 to: 10 do:[:i|
br classListIndex: i.
World doOneCycle.
]] timeToRun.
The interesting thing about this benchmark is that you can run it
multiple times to "increase the load" by having more browsers on the
screen. I only noticed this accidentally but it turns out to be the
relevant part.
In 3.8 the above results in a sequence of
Run 1: 598 msecs
Run 2: 630 msecs
Run 3: 683 msecs
Run 4: 689 msecs
So there is a little bit of slowdown when you add more browsers which is
what I would expect (due to rounded corners triggering some extra
overdraw, the additional structure etc).
In 3.9 however, we get the following:
Run 1: 883 msecs
Run 2: 1311 msecs
Run 3: 1632 msecs
Run 4: 2006 msecs
After four runs, we need 2.5 times as long as the first run. Something
is causing a tremendous overhead for any additional browser on the
screen. This matches my experience though originally I had attributed
that to the TTF problems but it seems the issue is way deeper than that.
Any ideas what was changed in 3.9 that could cause that slowdown?
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|