[squeak-dev] Why is the squeak gui slow? New clues.

Tom Rushworth tom_rushworth at mac.com
Tue Feb 16 19:38:06 UTC 2010


I haven't been actively using squeak for a while, but I vaguely recall  
it got really really slow when it was individually stepping a whole  
bunch of morphs (polymorph or linemorph???).  If you brought up a lot  
of whatever morph it was, they each had to be stepped, and that took  
forever.  My apologies for not being able to remember the details any  
better :(.


On 2010-Feb-16, at 11:09, Igor Stasenko wrote:

> On 16 February 2010 20:38, Jerome Peace  
> <peace_the_dreamer at yahoo.com> wrote:
>> Most of the time squeak is fast enough. Every so often the gui  
>> slows down to a crawl. The user moves the mouse around and the gui  
>> will not respond the way it did a moment ago. Movements feel  
>> spastic. The user overshoots the mark, moves back, over shoots  
>> again. Gradually learning to  
>> pause ...a...long...time...between...very...small...movements.
>>
>> I was recently trying to program some improvements and did  
>> something I think sheds a light on the reason.
>>
>> I was fooling with the handles for a star morph. There are only 6  
>> of them. Currently they all are individual submorphs of the star  
>> itself. However it seemed it would simplify things if there was  
>> only one handle. The center handle would make a good holder for the  
>> other five.
>>
>> When I finally got that working I ran into the problem that I  
>> mentioned in the first paragraph. The mouse gui became extremely  
>> retarded (in the time sense). This is consistent with what happens  
>> if you should run a mouse over true type fonts or flash morphs. The  
>> event processing slows down till it is painful to adjust to.
>>
>> My previous thought was that only massive pixel processing (large  
>> amount of screen updates) would cause a gui slowdown. Now however I  
>> am beginning to realize that event dispatch must be a prime suspect  
>> as well.
>>
>> That's all the info I have at the moment. I pass this along incase  
>> someone has some confirming or alternate information.
>>
>
> My 2 cents.
> I played with morphic rendering code, where in my morph, all
> attributes like color, border and many others retrieved from
> dictionaries.
> I expected that it may cause a major slowdown, but then discovered
> that its not. It is slower of course, but not to the point, where it
> becomes noticeable. So, i suspecting that bottlenecks is hidden
> somewhere else.
>
> Another observation is, that if you open many windows, things become
> slower and slower , in linear progression.
> The fact is, that in browser windows, most time spent on rendering
> text (using highly complex Text & font rendering code).
> So, Text rendering is a major bottleneck. And if we want to make an
> improvements, we should attack this area.
>
>> Yours in curiosity and service, --Jerome Peace
>>
>
>
> -- 
> Best regards,
> Igor Stasenko AKA sig.
>

--
Tom Rushworth






More information about the Squeak-dev mailing list