Implementation techniques - threaded code and such...

Thierry Goubier Thierry.Goubier at enst-bretagne.fr
Sun Feb 15 08:38:44 UTC 1998


On Sun, 15 Feb 1998, Andreas Raab wrote:

> In my understanding the question should be: What makes Morphic _feel_
> slow? Morphic is not slower than any other part of the system but some of
> its parts are not optimized for making it feel faster. One thing I would
> absolutely like to have is the support of a hardware cursor. The current
> implementation does bit blitting of a cursor shape and that makes it
> _feel_ much slower than in the MVC part. Also, since Morphic uses double
> buffering for display updates it takes quite a bit of time until you
> notice that something changed.

One question I was asking myself about Morphic double-buffering is this
one : is this really a double buffering scheme, or a triple buffering ?
Because as far as I understand the source and morphic, there is a buffer
in the host OS for the squeak window, and a buffer for Morphic inside
Squeak. And so, displaying something on the screen involves blitting on
Morphic buffer (a Form), then copying all or parts of this buffer to the
host OS buffer, and then to the screen to make something appear. Is this
description right or wrong ?

The blitting process is quite an important factor in Morphic speed and
responsiveness. I went from Windows95 to Linux/X11 on the same hardware
and gained around 30% in updates in the example "play with me 3" (squeak
1.30). I simply long for the new lab's PentiumII/300 with a 8 MB graphic
cards in 32bits colors where the frame rate can go as high as 250 with the
same example (and in this configuration, Morphic is "extremely"
responsive) :-)

Thierry.

Thierry.Goubier at enst-bretagne.fr_http://www-info.enst-bretagne.fr/~goubier
  On eut dit que  s'ils avaient  pu se  rencontrer c'etait  parce qu'ils 
  etaient si different et si etrangers l'un à l'autre, et que leur union 
  avait ete pour chacun d'eux une liberation.             [U.K. Le Guin]





More information about the Squeak-dev mailing list