Implementation techniques - threaded code and such...

Andreas Raab raab at isgnw.cs.Uni-Magdeburg.DE
Sun Feb 15 14:17:46 UTC 1998


Thierry,

> My hard question here would be then this one : could squeak be modified so
> that we end up with only two layers ? For example, by using a host-based
> Form as the Morphic drawing Canvas ?

This is a hard one ;-) In general yes, BUT it would require some things
by the host system as, for instance, the OS must then support each and
every mode of BitBlt. Also, you would need to modify text display for
working on an OS provided buffer.

Thinking about getting rid of the first buffer completely, Squeak's side
would need to support host system invalidation messages (as is it is for
now, each invalidation leads to a call to fullDisplayUpdate which in turn
uses Display for repainting). 

> This could also allow for foreign
> (out of squeak, I mean) use of this buffer, like in OpenGL?

It's a bit more difficult but in general you are right.

> I note that, since I'm in 32bits, there's no byte swapping in the Windows
> VM. 

Not by the VM but still in the graphics driver :-( I tried to make the
port as easy as possible not as fast as possible.

> And I don't believe that the XFree86 server is faster that the Matrox
> drivers for NT :-)

You might be surprised about XFree's speed in comparison with so-called
"native" display drivers ;-) If you can, compare the speed of XFree with
an XServer on NT (such as Exceed). I found that XFree is _lots_ faster
than anything else I've tried.

> To return back to the thread subject, and to the idea of using a hardware
> cursor, could it be possible to use a real triple-buffer architecture ?

I don't see that this would make much sense. The additional buffer is
normally only useful if you need to achieve constant frame rates and if
you know that there may be actions which take a bit more time than you
have at this moment. Also, the memory requirements are quite high.

Andreas
-- 
Linear algebra is your friend - Trigonometry is your enemy.
+===== Andreas Raab ============= (raab at isg.cs.uni-magdeburg.de) =====+
I Department of Simulation and Graphics      Phone: +49 391 671 8065  I
I University of Magdeburg, Germany           Fax:   +49 391 671 1164  I
+=============< http://isgwww.cs.uni-magdeburg.de/~raab >=============+





More information about the Squeak-dev mailing list