Gary,

I need to play more later, but that appears to make a significant difference.

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

>>> gazzagu...@btinternet.com 02/10/09 9:34 AM >>>
While we are at it I have noticed that SystemWindow>>passivate deliberately 
draw the World (old behaviour). Having done a few simple benchmarks it seems 
that better performance is achieved when it is not drawn then, in 
contradiction to the implication of "clean damage now, so dont merge this 
rect with new top window".

That's on my machine. Can some of you give it a go with the "self world 
displayWorld" removed and we'll see if it a worthwhile thing to change?

Regards, Gary

----- Original Message ----- 
From: "Igor Stasenko" <siguc...@gmail.com>
To: <Pharo-project@lists.gforge.inria.fr>
Sent: Tuesday, February 10, 2009 12:11 PM
Subject: Re: [Pharo-project] Call for UI gripes


> 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

_______________________________________________
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