performance of 2.4 under Linux

Lex Spoon lex at cc.gatech.edu
Sun Jul 18 21:40:25 UTC 1999


Ian Piumarta <Ian.Piumarta at inria.fr> wrote:
> The only alternative
> to this that I can see is to mirror Squeak's BitBlt operation with
> equivalent X drawing operations, which: (a) isn't obvious, (b) isn't
> portable without lots of unnecessary extra work on non-X11 platforms, (c)
> eliminates the possibility of directly manipulating Squeak's Display bitmap
> (with BitBlt or otherwise) and then "invalidating" the affected region (or
> ideally even making Display's Bitmap actually *be* the physical
> framebuffer), (d) requires a redesign of the graphics kernel in Squeak, and
> (e) addresses the symptom only (sluggish visual response to modifications of
> the Display Bitmap) rather than the cause (insufficient network bandwidth).
> (Or some combination thereof, depending on the details.)
> 

Morphic is actulaly already designed around a "canvas" asbtraction.  Canvas's respond to commands like draw a line, draw a circle, draw some text, etc.  It's very similar to the X drawing commands, in fact, but it doesn't seem to be a perfect fit.

Instead of me rambling on the difficulties of the Squeak->X approach, however, let me suggest an alternative: use a custom protocol instead of X!  Run one squeak image on the local display: call that image the terminal.  Run another squeak image on the remote computer.  The remote computer's image then talks over the network to the local "terminal" image, passing back and forth mouse events, keyboard presses, and display updates.  It would be the same overall architecture as XWindows, but it would use a custom network protocol instead of X.


There are a couple of big advantages to this approach, asside from the fact that it should work:  First, it would be cross-platform, whereas an X-based approach is only convenient for people who use X servers all the time.  Second, it would be efficient and relatively headache-free, because the protocol would be custom devised to handle Squeak's UI needs.

Unfortunately, all is not roses.  I took a run at this yesterday, and got deterred by the way Morphic recreates canvases frequently, and by the desire to make it work in MVC as well.  Maybe t will be better in 2.5, but in any case it's going to be too large of a project for me to take on at the moment.

If someone else takes this on, I know that *I* at least would find it extremely useful--I frequently desire to check my email on my computer across campus, or demo to someone something I'm working on, but can't do it very conveniently.

Furthermore, such a project would earn Squeak a few more neat-cool points, and these neato-cool points would actually be easy to explain for once!  :)


Lex





More information about the Squeak-dev mailing list