The about-to-be-put-on-SqueakSource version of Polymorph now has theme rendered drop shadow for SystemWindows. A small improvement in speed since CornerRounder still applies to the actual window morph.
Regards, Gary ----- Original Message ----- From: "Igor Stasenko" <[email protected]> To: <[email protected]> Sent: Tuesday, February 10, 2009 12:11 PM Subject: Re: [Pharo-project] Call for UI gripes > 2009/2/10 David Röthlisberger <[email protected]>: >> Hi Igor, >> >>> OB is quite complex thing, and its hard to understand what it does for >>> outsider :) >>> >>> I just identified a few points, which can improve rendering speed by a >>> certain amount: >> [...] >>> - default. >>> 60 ms >>> >>> - with override in SystemWindow>>drawDropShadowOn: aCanvas to do >>> nothing: >>> 51 ms >>> >>> - with override in OBMonticelloPackageNode>>classCategories to return >>> cached collection >>> 45 ms >>> >> >> I incorporated into OB a patch that is following your idea concerning >> caching of >> class cats in package nodes. I did it differently than you but the >> results are even >> better now. >> > > Great! In my patch i didn't care about correctness or whatever, it was > simply to outline what possible can be done to improve rendering > speed. > >> Can you take care of integrating the SystemWindow patch into Pharo? >> > > you mean override of SystemWindow>>drawDropShadowOn: ? > Its not really correct override. Shadow should be drawn, if it there. > And by default , to draw shadow, it using Morph>>drawOn: method with > special shadow canvas. For system window it means that a rectangular > area with dimensions of morph is filled with shadow color, shifted by > shadowOffset. > To improve its speed, we could clip a shadow rectangle to not visit > pixels which is covered my system window contents, only pixels which > are outside of it and 'dropping' shadow. > > I can implement such method, but concerning integration - i'm not in > charge here :) > > What is interesting about shadows, that by default a shadow offset is > 1 pixel wide: > shadowOffset: 1...@1 > > this means that unless you using magnifying glass on you display, you > can't really tell if there shadow drawn or not. > Since visual difference is minimal, do anyone can tell, why wasting so > much CPU cycles on it? :) > > >> Thanks, >> David >> >> _______________________________________________ >> Pharo-project mailing list >> [email protected] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> > > > > -- > Best regards, > Igor Stasenko AKA sig. > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
