SGI's migration to X
Steve Lehar
slehar at bucasd.bu.edu
Fri Aug 31 07:32:22 AEST 1990
Having worked with both SGI and X, I've gotta say that the SGI
windowing and graphics system is the most beautiful, simple, well
written, easy-to-use and elegant windowing system I have ever had the
pleasure to work with! You look it up in the manual, type it in, and
HEY PRESTO! it works just as advertised!
Now X is a whole nuther matter! The system is impossibly complicated,
the documentation is obscure, and nothing ever works without sending
email to the x consortium gurus themselves!
Just as an example- I wanted to write values 0 to 255 into an 8 bit
color map for image processing. Sounds simple? Well, just to get the
window to appear on the screen takes a couple of pages of hyroglyphic
code, but it always comes up coal black, I cannot seem to get anything
in to the color map except 0,0,0,0,0,0... Finally, in exasperation I
email to the gurus. "Oh yeah, we forgot to mention in the
documentation, you have to left-shift the values by 8 bits because the
color map only uses bits 9-16 in an 8-bit color map!" So to load a
value 10, you load 10<<8! Why? Oh you see, some machines have more
than 8 bit color maps, so it's for compatability- although that hasn't
been implemented yet, so there IS no compatibility, only confusion.
Another example- they provide an image structure for use with image
processing, which works fine, and they supply routines for quickly
displaying such images and performing graphics in them like drawing
colored boxes and circles. The trouble is that if you want to do
image processing you have to get your image data into that structure,
and the only routine they provide sends the pixels over one by one,
OVER THE NETWORK! so that even when you display from your own private
terminal to your own private screen it goes... "Prepare to receive
pixel", "sending pixel", "confirm receipt of pixel", "prepare for next
pixel"... and so forth and of course it takes an eternity to send a
whole image! I sent off to the gurus again and got a reply that I am
still trying to implement after two months. In the meantime I put up
with a system where it is quicker to process my image than it is to
display the result on the screen!
And then there are other little annoying things- like you cannot tell
X in advance where you want your window to arrive, the only way to
position it is by hand with the mouse. So I type in "display image A,
B and C" and off it goes sending pixels one by one while I go to work
on something else, but just as SOON as it's ready it interrupts me in
the middle of my keystroke- suddenly the terminal will not respond to
anything at all except the positioning of image A. Then as I get back
to my typing I am interrupted again by image B and then image C. (and
they don't necessarily come up in that order)
Now I know that X is designed to run on any hardware, which is why it
is so complicated, while the SGI stuff only runs on SGI, and that is
why it is so simple and elegant. Nevertheless, I think SGI did an
EXCEPTIONAL job in their graphics software, and I would not hurry on
over to X unless I were absolutely FORCED to do so! X is messy,
inordinately complicated, atrociously documented and unreliable. (My X
image windows are prone to suddenly disappearing if they've been
around for a while) My advice is to stick with SGI!
--
(O)((O))(((O)))((((O))))(((((O)))))(((((O)))))((((O))))(((O)))((O))(O)
(O)((O))((( slehar at bucasb.bu.edu )))((O))(O)
(O)((O))((( Steve Lehar Boston University Boston MA )))((O))(O)
(O)((O))((( (617) 424-7035 (H) (617) 353-6425 (W) )))((O))(O)
(O)((O))(((O)))((((O))))(((((O)))))(((((O)))))((((O))))(((O)))((O))(O)
More information about the Comp.sys.sgi
mailing list