Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wasatch!cs.utexas.edu!uunet!peregrine!ccicpg!cci632!rit!tropix!moscom!ur-valhalla!uhura.cc.rochester.edu!rochester!rutgers!usc!neuro.usc.edu!annala From: annala@neuro.usc.edu (A J Annala) Newsgroups: comp.graphics Subject: Re: Suntools vs. Xwindows Message-ID: <18220@usc.edu> Date: 8 Aug 89 08:48:15 GMT References: <3290@portia.Stanford.EDU> Sender: news@usc.edu Reply-To: annala@neuro.usc.edu (A J Annala) Organization: University of Southern California, Los Angeles, CA Lines: 79 In article <3290@portia.Stanford.EDU> rick@hanauma (Richard Ottolini) writes: > >The distinction between Suntools and XWindows will disappear in the >near future in a Sun product called XView. See Sun's compatibility >package for portions of old Suntools that won't be supported (about 10%). I hope this prediction never comes to pass. I have used Suntools, SunCore, and X11R3 pretty extensively in the past six months. My opinions follow: o Suntools -- This package includes a relatively small easy to learn set of calls that are needed to actually get a graphics application up and running. Linked executable programs appear to be the smallest of the three packages. As a consequence, given Sun's newest memory management philosophy (let quiescent programs occupy as much memory as possible so that new programs need to swap out old code to make any room for the new code to run ... a "great" way to sell memory), this means that applications start up quickly, windows pop up rapidly, and the system does not get bogged down thrashing pages to/from disk. Suntools is ideal if all you want is a small raster to load images or paint vectors. Good for highly interactive programs. o SunCore -- Built on top of sunwindows. Provides a richer set of calls to draw more complex objects with a wide variety of viewing transforms for 3d images. Somewhat slower than suntools because linked executable programs are bigger. But, if you want nice 2d & 3d viewing transforms and other sophisticated graphics package features then SunCore is the package for you. [SunGKS / SunPHIGS are also good at these operations]. o X11R3 -- Right now, at most academic institutions, this package appears to be either wholly unsupported or poorly supported. A broad knowledge of the package is required to be able to write even the simplest window program (try "hello world" in all three packages and I guarantee you will agree with this opinion ... then try 256 color pseudo color image display in all three packages). As a consequence, generalist campus computer center support organizations will find this package unwieldy. Also, while the package is available (in source code format) for free, no outside organization appears to supply expertise to back up campus consultants when they get in over their heads. This package is what I would consider ideal for training computer science hackers and people who want to get into the graphics market for fun and profit. Because it is available in source code form, modifications to the source code and recompilation are the only reasonable fix for many problems now. X11R3 is three generations into a major release of an academic product. Nevertheless, unless you have a good X11 hacker in your back pocket, I would shy away from this package for serious development work. On the other hand, if you want to spend many hours plowing through volumes of documentation then I would consider buying the O'Reilly & Associates three volume reference set on the X Window System, ftp their source code for examples to your site, and try to get their examples to work before moving onto your own project. Also take a look at xim image processing package for an example of how to handle 256 color images. On the other hand, if you want to write machine independent "C" graphics programs (that run on 32 bit machines efficiently) then you should look at X11R3. If you need to distribute image generation (the client task) from image display (the server task) over a local area network (or even over a medium speed long range network like internet) then use X11R3. If you need to generate images on one vendor's host (cray) and display them on another vendor's server (sun) then use X11R3. But, if you want to generate images and display them on them same machine (e.g. one Sun) then you better pony up a substantial amount of memory and processing capacity (4mb SUN-III/60's make good servers ... but running several substanial client tasks together with the server task on one machine can bring my 8mb SUN-III/160C to its knees). In the future, PEX (the PHIGS Extension to X) should provide 3d viewing transformations and other sophisticated graphics support. But the first public release still appears to be at least a year away. A good version (with most of the initial bugs removed) won't be available for at least two years. X consumes a lot of resources ... people, memory, and processing ... but it is free and more or less machine independent. These are my opinions only ... based on my own experience with each of these packages ... I invite other opinions ... and corrections of any errors ... as unintended as errors are meant to be. Best of luck, AJ