SGI's migration to X

Mike Yang mikey at eukanuba.wpd.sgi.com
Sat Sep 1 02:29:41 AEST 1990


There is no question that the X window system model is quite different
from that of SGI.  To address some of your points:

1.  Colormaps

The colormap mechanism is general enough to support colormaps of
various depths.  Therefore, RGB values are specified as [0,65535]
rather than [0,255].  And this makes sense.  Remember, the Xlib
routines that you use (e.g. XStoreColors) are based on the protocol,
which has remained consistent for all revisions of X11.  It would have
been silly for the X designers to limit this and assume that no
hardware vendor would come up with a colormap visual with fewer than 8
planes.

The other advantage to this model is that if you then compile your
program and run it on a machine with a different size colormap (e.g. a
4 plane DEC system), it will run the same.  Remember, X programs are
suppose to be portable and work generally the same way on different
hardware situations.

2.  Local image storage and sending the result to the server

Because X is based on a client/server model, your image processing
client can build its own data but then needs to send it to the server
for display.  This is different from GL, where your client application
can write directly to the screen hardware.  X requires this
indirection because X clients can run on remote hosts.

As for your specific problem, images can be sent to the server in
quantities greater than one pixel.  If you use XCreateImage to create
a local image data structure, XPutImage will send any region
(including the whole thing) to the server.

3.  Window placement

The X model is that there is a window manager which governs the
handling of windows.  Its policy varies from window manager to window
manager.  Apparently, the one you're using is configured for "user
positioning," meaning that windows are interactively placed by the
user when they are mapped.

Clearly, people who are used to the GL model and who have had prior GL
experience will find X to be quite different and initially, difficult.
But this is true when learning anything new.  Personally, I found the
GL model different and difficult because I was used to X.

There is going to be a learning curve for people migrating to X.  The
best way to reduce this is to find people knowledgable about X and ask
them questions.  Believe it or not, this set of people is much greater
than the X Consortium.

-----------------------------------------------------------------------
                 Mike Yang        Silicon Graphics, Inc.
               mikey at sgi.com           415/335-1786



More information about the Comp.sys.sgi mailing list