Q: What makes Morphic slow?

Chris Reuter cgreuter at calum.csclub.uwaterloo.ca
Sat Nov 27 06:46:16 UTC 1999


On Fri, Nov 19, 1999 at 03:37:34PM +0100, Henrik Gedenryd wrote:
[...]
> Could perhaps people with slow computers (PDAs and Pentiums according to the
> list :-) look at what is slow--with no need to dig into the code, just
> looking at whether it's responding to events, redrawing, startup,
> etc.

I did a bit of digging in this direction a while back (but I still
have the image file.)  I have a Pentium 100 (without MMX) w/ 32 Mb of
RAM running RedHat 6.0.

In my experience, Morphic is tolerable on standard, non-rotated
things.  Browsers, workspaces, inspectors, etc. all work sufficiently
quickly, but performance gets bogged down when I open a lot of text
windows.

By bogged down, I mean a noticible lag between hitting a key and
seeing the text displayed and a long (.5 to 1.5 second) delay between
clicking on a window and it coming to the front.

I did some timings via:

Time millisecondsToRun: [World changed. World displayWorldSafely]

I did this several times and got the following numbers:

 1525
 1689
 1668
 1652
 1630
 1649
 1628


Then I did got a message tally for:

     20 timesRepeat: [World changed. World displayWorldSafely]

which gave me the following leaves:

**Leaves**
16.4
DisplayScanner(CharacterScanner)>>scanCharactersFrom:to...ons:kern:displaying:
16.3 GrafPort>>copyBits
8.9 DisplayScreen>>forceToScreen:
8.6 QuickPrint>>drawString:at:
3.4 Rectangle>>left
3.3 Rectangle>>top
2.2 Rectangle>>bottom


I took a look at scanCharactersFrom:to...ons:kern:displaying: to see
if the associated primitive was failing and determined via shrewdly
placed sends to Transcript that it was not.

I hope this will enlighten someone.


				--Chris





More information about the Squeak-dev mailing list