Sig, Is it something that could be themed? Then it could be present in the "expensive" themes and left out for a limited theme that would hopefully still look nice, have robust focus behavior, but seeks to be as fast as possible.
Bill Wilhelm K. Schwab, Ph.D. University of Florida Department of Anesthesiology PO Box 100254 Gainesville, FL 32610-0254 Email: bsch...@anest.ufl.edu Tel: (352) 273-6785 FAX: (352) 392-7029 >>> siguc...@gmail.com 02/10/09 7:11 AM >>> 2009/2/10 David Röthlisberger <squ...@webcitas.ch>: > 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 > Pharo-project@lists.gforge.inria.fr > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > -- Best regards, Igor Stasenko AKA sig. _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project