Morphic slowness (was Re: Does *anyone* use MVC?)
Andreas Raab
Andreas.Raab at gmx.de
Sun Aug 4 00:49:47 UTC 2002
Scott,
> When I last asked Andreas (more than a year ago) whether
> *all* calls to #startSteppingSubmorphsOf: were now
> unnecessary, his answer was that "*nearly* all" were now
> unnecessary. This seems to be a case where it clearly *was*
> still necessary, thus corroborating the caution in his reply.
Just curious (because I don't recall the message) did I give a reason
why only "nearly" all calls were unnecessary?! I can't quite see a
reason for this (from todays point of view) but then I don't see why I
didn't just dump this method... ;-)
On the issue of #startSteppingSubmorphsOf: being necessary for updating
menu items: I don't think we need it here. What's obviously happening is
that the updating menu items need a step before they're ever displayed
in order to update their initial contents. Since this is true for all
updating menus it should certainly be integrated into their own
#intoWorld: method. If that is a general problem it could equally well
be integrated into Morph's intoWorld: implementation itself (so that all
stepping morphs get an initial step once they get going).
Cheers,
- Andreas
> -----Original Message-----
> From: squeak-dev-admin at lists.squeakfoundation.org
> [mailto:squeak-dev-admin at lists.squeakfoundation.org] On
> Behalf Of Scott Wallace
> Sent: Sunday, August 04, 2002 12:09 AM
> To: ned at bike-nomad.com; gjjrs0somx001 at sneakemail.com
> Cc: squeak-dev at lists.squeakfoundation.org
> Subject: Re: Morphic slowness (was Re: Does *anyone* use MVC?)
>
>
> Ned and Tim,
>
> After delving quite a bit further into this, I finally
> decided to give up on the early-entry-into-the-world
> approach, and instead frontally addressed the issue of
> getting the updating menu items precomputed without their
> coming into the world, and that seems to do the trick, so at
> the moment this appears to be a vastly favorable alternative,
> resulting in just the invalidations one would hope for, yet
> circumventing the spurious-menu-selection bug.
>
> (See the PS below about how to duplicate the
> spurious-menu-selection bug. The seemingly sporadic, random
> nature of this bug is due to the fact that it depends on the
> precise dynamic wording of the "undo" item in the world menu
> at the moment, which depends on earlier history of actions in
> the image.)
>
> Regarding the question of whether the
> #startSteppingSubmorphsOf: call (in the earlier approach) had
> been necessary: theoretically it was not necessary, but in
> this case, demonstrably, it *was* necessary. Without the
> startStepping... call, the bug still happened.
>
> When I last asked Andreas (more than a year ago) whether
> *all* calls to #startSteppingSubmorphsOf: were now
> unnecessary, his answer was that "*nearly* all" were now
> unnecessary. This seems to be a case where it clearly *was*
> still necessary, thus corroborating the caution in his reply.
>
> In any case, if we adopt the approach of the attached
> fileout, the point may be moot here.
>
> Please let me know what your experiences are with this. Thanks.
>
> Cheers,
>
> -- Scott
>
> PS: The conditions that trigger the spurious-menu-selection
> bug, in the case of the world menu, are that undo be enabled
> and that the dynamic wording of the "undo" or "redo" command
> be *wider* than the default width of the world menu. Even
> one pixel wider will trigger the bug. If you move a
> rectangle named "Rectangle", so that the undo wording becomes
> 'undo 'move Rectangle'", that's wide enough.
>
>
> At 7:47 AM -0700 8/3/02, Ned Konz wrote:
> >On Saturday 03 August 2002 02:15 am, Scott Wallace wrote:
> >> The attached change set offers the following compromise: it still
> >> puts the menu into the world before final positioning, so that the
> >> menu's items can step, but it does so only after giving the menu an
> >> assuredly-off-screen position, so that no screen invalidation
> >> occurs. Once the menu items have stepped, the actual positioning
> >> of the menu takes place.
> >
> >Scott, is it necessary to call #startSteppingSubmorphsOf: considering
> >that you already call #addMorph, which calls #intoWorld:, which
> >already starts everything stepping (per Andreas)?
>
More information about the Squeak-dev
mailing list
|