speed of 2.9a
Marcel Weiher
marcel at metaobject.com
Sun Dec 31 14:38:35 UTC 2000
> From: silence-squeak at nilpotent.org (Faried Nawaz)
> Also, 2.9 with the latest updates (3144) is a lot less responsive than
> 3125. It's barely usable in its current state. I have to click several
> times or click-and-hold to select classes in the browser, for example.
> Window decorations (close and minimize) are also very slow to
react. I'm
> not sure which update triggered this, but I can check tomorrow.
Yes, I have the same problems with 2.9-2710, which really got to me
as I was re-writing the MacOS-X VM.
Anyway, I dug a little deeper and found a couple of things that
surprised me:
1. MVC vs. Morphic
My VM currently has all its input-sensor support #ifdef'ed out and
is therefore purely event driven. However, MVC, despite it having to
rely on a Squeak-side sensor-simulation of the event-input from the
VM, is a whole lot more responsive.
Another thing I noticed was that Morphic was synthesizing events
from the simulated input-sensor synthesizewd from the VM's events.
This changed when I switched to another project and back (it seems
the check for wether to get events or simulate them is made at
project-switch-time, despite this not really having much to do with
the projects, and more with the underlying VM running the show).
2. Event propagation
Through some logging, I discovered that events get to the VM
quickly, even in Morphic. It is within Morphic's event code that
things get sluggish and/or lost.
In particular, the top of HandMorph>>processEvents reports events
pretty much as they are input from the VM ( still as 8-element arrays
/ event-buffers ). However, they sometimes arrive much, much later
at the top of HandMorph>>handleEvent: (now as real morphic events).
Sometimes they don't arrive at all. So something must be killing
those events in the meantime. ( I am not talking about mouse-moved
events, but clicks).
Marcel
More information about the Squeak-dev
mailing list
|