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

Reply via email to