[squeak-dev] Why is the squeak gui slow? New clues.
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.
Igor Stasenko AKA sig.
More information about the Squeak-dev