Xref: utzoo comp.windows.x:2247 comp.windows.news:238 Path: utzoo!utgpu!water!watmath!clyde!rutgers!mcnc!decvax!decwrl!sun!pitstop!sundc!seismo!uunet!mcvax!ukc!eagle!icdoc!qmc-cs!liam From: liam@cs.qmc.ac.uk (William Roberts) Newsgroups: comp.windows.x,comp.windows.news Subject: Re: X and NeWS comparison Summary: they aim to do different things Keywords: X, NeWS Message-ID: <359@sequent.cs.qmc.ac.uk> Date: 12 Jan 88 10:38:20 GMT References: <2336@mandrill.CWRU.Edu> Reply-To: liam@qmc.ac.uk (William Roberts) Organization: Computer Science Dept, Queen Mary College, University of London, UK. Lines: 155 Sender: >Has anyone done a comparison of these two windowing systems? We have a report entitled "First Impressions of NeWS" which included a section making a brief comparison. Copies of the paper can be obtained by mailing me (paper or electrons) with a POSTAL ADDRESS to which it should be send - 389 copies have so far gone out. The section comparing NeWS and X is as follows (source for troff using the -ms macros): ------------------------------------------------------------ .NH Comparison between X and NeWS .LP There is another, more strongly supported, player in the device-independent network window system arena: the X system developed at MIT and now endorsed by DEC and IBM to name but two. NeWS is a proprietary standard and the newcomer, but hopes to become a .I "de facto" standard in the way that SUN NFS has become a .I "de facto" standard for network file systems. NeWS and X appear to offer superficially similar things; both take the form of a server running in the machine with the display, to which application programs running anywhere connect via a byte-stream protocol. Both achieve hardware device-independence by using the server to provide an abstract device; the display programmer programs that abstract device and the server does the rest. Both exist as carefully written \*Qreference ports\*U which can be ported to a new machine in a matter of a few working days. .LP They are however quite different when looked at more closely. .NH 2 The Abstraction Provided by X .LP The X system is an attempt to rationalise a lot of existing hardware: any computer supporting 70-90 dot per inch screens, each with associated mouse and keyboard. The abstraction supports overlapping rectangles of pixels, .I pixmaps , which are arranged in a hierarchy. The coordinate system for each pixmap has (0,0) in the top left corner, the y-coordinate increases downwards and the unit is one pixel (hence all coordinates are integers). It has event-based input handling and provides facilities for text, graphics with thick lines and curves. The abstract device is controlled through a procedure call interface. .LP The key concept is the pixel, which may consist of several bits, and pixel colours. The use of colour is controlled in a device independent way, but not all X servers need be capable of supporting it and so the application is provided with routines for finding out the capabilities of the actual device in use. Sophisticated applications need to use similar routines to establish the true size of the display, the pixel resolution etc. .NH 2 The Abstraction Presented by NeWS .LP The NeWS abstraction is full colour device with arbitrarily high resolution. It supports arbitrarily shaped overlapping regions of drawing surface, .I canvases , arranged in a hierarchy. The coordinate system for each canvas is arbitrary (it can be subject to arbitrary linear transformations by the application) but the natural coordinate system has (0,0) in the bottom left corner, the y-coordinate increasing upwards and the unit is 1/72nd of an inch (all coordinates are given as real numbers). It has event-based input handling and supports text, lines with thickness and intensity maps. The abstract device is controlled through a program interface, i.e. the primitives of the device include traditional programming constructs such as procedure definition, iteration etc. .LP The fundamental concept is a path; a set of curves defined in the coordinate system and then rendered on the device by stroking or filling. The device supports arbitrarily high resolution colour. The application has little or no way of determining the true capabilities of the actual physical device. .NH 2 Closer Comparison .LP The first key difference between X and NeWS is the attitude to pixels: X is completely based on pixels, in NeWS pixels do not exist. X provides the full 16 possibilities for combining a new pixel with what is already present; NeWS has no concept of reading back what is already there and all drawing is performed by overwriting\**. .FS NeWS does have a .H setrasteropcode primitive which controls the way colour is combined with the existing drawing surface, but this is only to enable NeWS to emulate existing window systems; you still can't read back the pixels. .FE X must have a font file for each size and orientation; by eschewing pixels, NeWS becomes free to scale its fonts and coordinate systems in arbitrary ways, with any orientation and even with non-perpendicular axes. .LP The second key difference is the interface provided to clients of the server: X provides a procedural interface, NeWS provides a programming language. The ability to send arbitrary programs to the server has a large impact on the communications bandwidth needed to operate the display remotely, especially when fast interactive feedback is needed or the display involves a large number of repeated designs. .LP The difference in facilities is highlighted by the observation that it is possible to program the NeWS abstract device to be an X server, with the exception of any X operations which read back the existing pixels: Sun supply a partial implementation (in PostScript) of X.10 with the NeWS system. .NH 2 Crystal Ball Gazing .LP In the short term (1-3 years) the X standard will prevail. It bears fairly close resemblance to a lot of existing hardware, it is easy to port, and the emphasis on pixels corresponds to the accepted practice of fast, interactive computer graphics over the last five years. Nothing about X precludes the sort of performance seen of arcade games, including all the tricks that can be played with colour maps. During this time NeWS ports will become available from most major manufacturers, simply because NeWS is very easy to port and not particularly expensive to licence. .LP In the long term, NeWS (or something similar) will supercede X, as surely as bitmap graphics is superceding dumb terminals. The NeWS abstract device has a much higher functionality and its assumptions of arbitrarily high spatial and colour resolution are \*Qfuture-proof\*U: NeWS can already span the small range of available display resolutions (from 50 dpi to about 90 dpi) and the size of the application graphics remains constant, though the quality varies. When 200dpi screens become available, a standard X application window will shrink to \(14 of its size on current displays. .LP NeWS is not slow; Mel Slater has applications where NeWS with clipping is faster than SunView, both with and without clipping. Furthermore the size of the compiled program to run under NeWS is reduced to 20% of its size of under SunView. .NH Conclusion .LP NeWS is a revolutionary combination of PostScript with the best of existing workstation and network technology. It is undoubtedly the best windowing and graphics environment we have ever come across; we intend to use NeWS on all the machines in our network and to develop its ideas in future research work. -- William Roberts ARPA: liam@cs.qmc.ac.uk (gw: cs.ucl.edu) Queen Mary College UUCP: liam@qmc-cs.UUCP LONDON, UK Tel: 01-980 4811 ext 3933