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@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