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