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