Morphic slowness (was Re: Does *anyone* use MVC?)

gjjrs0somx001 at sneakemail.com gjjrs0somx001 at sneakemail.com
Sat Aug 3 06:34:17 UTC 2002


I wrote:

>  > The multi-line selection is important -- if there is no text
>>  selected, or the selection doesn't span at least 2 lines, then the
>  > effect does not occur.


Ned Konz replied:

>I'm not seeing that with my fix changeset loaded.

I must have missed part of the discussion -- what fix changeset is that?


>But do you see this with any loss of keyboard focus (and hence removal
>of highlighting)?

No -- the highlighting needs to still be in the window for the very 
large bad damage rect to occur when a menu is brought up. (this is on 
a fresh 3.2 image).
The bad damage rect at the origin is always present, though.

OK, I think I found the problem.  When we pop up a system menu in 
response to a mousedown, the menu gets built (with position 0 at 0), 
then we call:

	MenuMorph>>popUpAt:forHand:in:allowKeyboard:

This method adds the MenuMorph to the world, starts stepping on it, 
then after that positions it relative to the cursor.  This causes 
some damage rectangles to be added at the World origin, and many 
times this gets coalesced with other real damage rects into a very 
big damage rectangle.

If instead we first position the MenuMorph, then add it to the World, 
the spurious damage rectangle problems go away, and the menu seems to 
come up quicker.

[see attached fileIn, which positions the menu before adding it to the world]

	-- Tim Olson
-------------- next part --------------
Skipped content of type multipart/appledouble


More information about the Squeak-dev mailing list