Path: utzoo!attcan!uunet!samsung!zaphod.mps.ohio-state.edu!wuarchive!usc!apple!alan.aux.apple.com!abm From: abm@alan.aux.apple.com (Alan Mimms) Newsgroups: comp.windows.x Subject: Re: Not impressed with MacX (performance) Message-ID: <11490@goofy.Apple.COM> Date: 11 Dec 90 18:21:44 GMT References: <9012101615.AA21897@expo.lcs.mit.edu> Sender: usenet@Apple.COM Reply-To: abm@alan.aux.apple.com (Alan Mimms) Organization: Apple Computer, Inc. Lines: 66 In article <9012101615.AA21897@expo.lcs.mit.edu>, jmw9681@USAV01.GLAXO.COM ("J. Michael Word") writes: |> I recently had the fortune to witness a demonstration of Mac-X and I was |> very surprised at the slooooooow speed of the server running on a MacIIfx! |> Beside it was a 386 running the X server which comes with PCSA and the PC |> was running several times faster than the Mac. It didn't seem to help |> if we set the Mac to monochrome either... I'd love to see an explanation |> for why Mac-X is such a pig. (Given the circumstances, all I could really do |> to test the performance was run ico. Your mileage may vary.) |> Ok. This is something I've wanted to get off my chest for a LONG time. I am the one responsible for the pigginess of MacX 1.0's performance in color. Leave it at no one else's door but mine. I did it. It's slow because of a couple of things: (1) MacX works by keeping every top-level (immediate child of the root) rootless window as a separate offscreen pixmap and periodically (very often) copying the resulting (changed parts of the) pixmap using Quickdraw's CopyBits operation into the Macintosh window which is displaying the corresponding X11 window. This duplicated effort of drawing and then copying the bits onto the screen takes some time. (2) I was unaware of a special case in the Copybits call at the time MacX 1.0 shipped which makes it slower than it has to be. Better performance can be had by: making sure the depth and visual supported by the physical screen the MacX windows are on matches what MacX is advertizing to the X11 world (i.e., use an 8-bit color screen for 8-bit color X11 display). Since MacX has the ability to depth-convert on the fly, you may not be aware that this is happening -- and slowing you down big-time. Also, turn OFF the Smooth Animation option in the Miscellaneous Preferences dialog. This serves to batch together copy operations to the screen, improving many types of interactive performance several-fold. The "ico" program is particularly a bad example for MacX because it does a LOT of drawing operations overlapping the same area. If you have smooth animation on, which makes it look smoother but flickery, it slows down a lot. I submit that the cases we optimized for -- typical interaction and pulldown menus and the like -- are the ones you really care about. But they don't resemble ico very much. What all this apparent cruft get you is something which some people see as a mere convenience and other people scream for: the ability for the X11 world to live completely comfortably within the Macintosh windowing world, cutting and pasting text and graphics between the two worlds effortlessly, using Macintosh techniques for all window management things where possible, and generally making the X11 world a bit more familiar for the Macintosh user while also ending up with a very useful X11 server, window manager, font compiler, color management facility, and session manager. That was the goal, and I believe it has been achieved pretty well. I really wanted to spend a lot more time on optimization, but there comes a time when you have to ship SOMETHING or people begin to wonder why you're hanging around all the time without producing any revenue (get the drift?). MacX 1.0 shipped when we all felt that it had the fewest possible bugs (I only know of two even now) and the best feature set and corresponding documentation we could give it. Sure, it's not the ultimate be-all and end-all of X11 servers. Neither was the MIT X11R1 server. Or DECwindows 1.0. Or anybody else's 1.0 of anything I've ever used. Don't think that we're not aware of this: I've been sleeping less and working more because of it. And I have achieved some remarkable speedups in the last 6 months or so since MacX 1.0 shipped and I got back from my vacation. I personally am not that impressed with MacX 1.0's performance either. But it works and is fast enough for pretty much everything I've ever wanted to use it for (and I'm a speed freak). There: I feel better. While I can't really get up for apologizing to everyone for wasting their time (MacX 1.0 it DOES work -- and quite well, I might add), I personally wanted to say WHY. |> Mike Word |> jmw9681@usav01.glaxo.com -- Alan Mimms (alan@apple.com, ...!apple!alan) | My opinions are generally A/UX X group | pretty worthless, but Apple Computer | they *are* my own... "Laugha whila you can, monkey boy..." -- John Whorfin in Buckaroo Bonzai "Never rub another man's rhubarb" -- The Joker in BatMan