Investigating fullBounds/layoutChanged
Andreas Raab
Andreas.Raab at gmx.de
Fri Oct 18 19:51:28 UTC 2002
Eddie,
> It will only help on slow systems.
I wasn't asking it it "will" - I was asking if it "does" ;-) E.g., when
it comes to optimization it's only the numbers that count. Make up a
case, show some numbers, show the improvement and noone will object.
Cheers,
- Andreas
> -----Original Message-----
> From: squeak-dev-admin at lists.squeakfoundation.org
> [mailto:squeak-dev-admin at lists.squeakfoundation.org] On
> Behalf Of Eddie Cottongim
> Sent: Friday, October 18, 2002 9:36 PM
> To: squeak-dev at lists.squeakfoundation.org
> Subject: Re: Investigating fullBounds/layoutChanged
>
>
> Andreas said:
> > But does it improve anything?! If not, the added complexity
> is hardly
> > worth it - you are making a very special case here and if
> there's ever a
> > time where the hand _should_ be sending #layoutChanged you
> may have a
> > hard time finding the place. So unless you can show that it improves
> > something I have reservations to make this optimisation.
>
> It will only help on slow systems. There will be no noticable
> effect on a 2
> ghz P4. Since mouse events come in about a fixed 35hz rate, the faster
> machines will spend proportionately less time on mouse
> events. Measurements
> I give here are for my slow (133mhz) system.
>
> First, Squeak is using 60-100% of the CPU just to move the
> mouse around. It
> doesn't hurt Squeak directly, but its not nice behavior. I'm
> not sure how to
> explain to people why this ok for Squeak. (I don't trust
> Window's report of
> 60-100% usage - message tally says that 30% is spent in
> Delay-Wait, so maybe
> 30%-70% is a better estimate).
>
> Then there is battery usage. 40% (the time spent doing
> fullBounds) of your
> battery power during mouse moves is being used for something
> we can skip
> completely. I'm not an expert on how these systems manage
> power and how much
> this will improve things, but it certainly ought to help.
>
> Changing this isn't too complex - it boils down to changing
> this line in
> Morph>>position:
> owner ifNotNil:[owner layoutChanged].
> to:
> self isHandMorph ifFalse:[owner ifNotNil:[owner layoutChanged]].
>
> (or something similar, this is much simpler than the stuff I
> sent before)
>
> I agree that we should think very carefully about if the hand
> ever should
> send layoutChanged as a result of a mouse move. If it
> happened, this would
> mean that the world wants to move around its submorphs as a
> result of mouse
> moves (which I think is pretty strange, but lets assume its possible).
>
> If the world wants to move its submorphs as a result of mouse
> moves, it
> could do it two ways:
> 1) use the normal event handling
> 2) depend on the current layoutChanged behavior
>
> Doing it in way #1 seems better to me - this is the way other
> morphs do
> this, and the code for it will be fairly clear.
>
> So far it seems there is no reason that Worlds should expect
> to be getting
> #layoutChanged from Hands.
>
> Eddie
>
>
>
>
>
>
>
More information about the Squeak-dev
mailing list
|