Path: utzoo!utgpu!water!watmath!clyde!rutgers!gatech!hao!noao!arizona!mike From: mike@arizona.edu (Mike Coffin) Newsgroups: comp.windows.misc Subject: Re: Why I'm suspicious of NeWS Message-ID: <3851@megaron.arizona.edu> Date: 13 Feb 88 16:52:46 GMT References: <2940@bloom-beacon.MIT.EDU> Organization: U of Arizona CS Dept, Tucson Lines: 45 From article <2940@bloom-beacon.MIT.EDU>, by martillo@athena.mit.edu (Yakim Martillo): > The Xlib routines actually buffer up the messages to send to the > remote until the process XFlush()'s them into the kernel for > transmission. Improperly coded X programs could probably generate > zillions of little packets crossing the application kernel boundary > but a competent coder would not write his routines that way. > Incompetent NeWS programming could probably generate zillions of little > NeWS programs for transmission. Here's an extreme example, just to make a point. Suppose we have a main CPU in a robot on Mars, with a workstation on earth. The communication delay is on the order of minutes. The robot detects an anomalous situation, one that demands a decision from earth. Two scenarios: X) The robot pops up a menu on earth. It pops up a cursor. A human moves the cursor to a selection. Highlighting the each selection takes several minutes, of course, because a message has to be passed to Mars and back to accomplish it. After three or four selections have been highlighted but not picked, the mouse finally makes it to the correct one. Then the human releases the mouse button; a couple minutes later the robot knows what to do. NeWS) The robot sends the entire menu selection program to earth. The entire selection process takes place here, and a single message is sent back. Which interface would you rather use? Granted, most networks aren't that slow. And for all I know, X11 has menus built into the server, making the above scenario moot. Even if that has been done (has it?) it is just a special case; other kinds of interaction will still force X programmers to use XFlush() to cross the client/server boundary much more often than NeWS. The bottom line is that X needs to cross boundary every time visual feedback is needed, unless a special case has been made and built into the X server. -- Mike Coffin mike@arizona.edu Univ. of Ariz. Dept. of Comp. Sci. {allegra,cmcl2,ihnp4}!arizona!mike Tucson, AZ 85721 (602)621-4252