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

Igor Stasenko siguctua at gmail.com
Wed Feb 17 05:30:28 UTC 2010


On 17 February 2010 07:28, Igor Stasenko <siguctua at gmail.com> wrote:
> On 17 February 2010 06:42, Chris Muller <asqueaker at gmail.com> wrote:
>> Wow, I never noticed those shadows.
>>
>> This is so "Squeak" wouldn't you say!?  Subtle (1 pixel!), refined
>> (because the designer still cared enough for the difference in look),
>> and, sorry to say, apparently slower!  :-/
>>
>> Hm, a 10-20% improvement in world drawing speed or a 1-pixel shadow?
>> I find it hard to not want to cash in those shadows..
>>
> Well, this inefficiency can be optimized by implementing clever
> #drawDropShadowOn: for system window
> to not use default implementation, which does ... well you can see
> what it does by issuing:
>
> World allMorphsDo: [:m | m drawDropShadowOn: World assuredCanvas ]
>
err... a little different code

World allMorphsDo: [:m | m class == PluggableSystemWindow ifTrue: [ m
drawDropShadowOn: World assuredCanvas] ]

> So, we could have a cake, and eat it too (in shadow ;)
>
>>
>> On Tue, Feb 16, 2010 at 6:42 PM, Igor Stasenko <siguctua at gmail.com> wrote:
>>> How about removing a bit of wasteful crap ? :)
>>>
>>> By default, all system windows having a thin 1-pixel wide shadow. It
>>> is hardly noticeable visually, but slows down things considerably:
>>>
>>> [ World fullDrawOn: (World assuredCanvas ) ] timeToRun 527
>>> World allMorphsDo: [:m | m hasDropShadow: false ]
>>> [ World fullDrawOn: (World assuredCanvas ) ] timeToRun  425
>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Igor Stasenko AKA sig.
>>>
>>>
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list