[Q] why is it slow to move complex morphs

Ned Konz ned at bike-nomad.com
Wed Apr 9 20:56:47 UTC 2003


On Wednesday 09 April 2003 01:52 pm, Ned Konz wrote:
> On Wednesday 09 April 2003 01:45 pm, Martin Drautzburg wrote:
> > Just for curiosity ...
> >
> > When you move the trashcan, this is a nice and smooth move. But
> > when you move a complex morph this is quite bumpy.
> >
> > I once looked at the WarpBitBlt and it did pixel operations in no
> > time. So I thought: it can't be the foreground pixel moves that
> > use up the CPU it must be the background.
> >
> > But this isn't true either, because a plain rectangle moves
> > faster than a complex morph of the same size.
> >
> > Why is this ?
>
> Because the complex morph is being redrawn in its entirety several
> times a second.
>
> The really clever way to do the drag code would be to hide the
> Morph, have it draw itself to a FormCanvas, then move that Form
> around until you drop it. At which time you'd destroy the Form,
> position the Morph, and unhide the Morph.

But of course Morphs that were animated wouldn't look right if you did 
this.

Still, it could help for some Morphs where the animation isn't 
important.

-- 
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE



More information about the Squeak-dev mailing list