[comp.sys.amiga.advocacy] How fast can the NeXT do Animation

melling@cs.psu.edu (Michael D Mellinger) (05/06/91)

Here is an article that someone from NeXT posted last month in
response to some questions about the NeXTstation color.  The only
animation that I have seen on the NeXT has been small images, so I
don't know how fast the NeXT really is.  The #'s quoted here are
*quite large* and I'm not sure I will believe them until I see some
better animation with my own eyes.

-Mike

===========================================================================
From: aozer@next.com (Ali Ozer)
Subject: Re: ColorStation questions
Date: 24 Apr 91 23:21:51 GMT

In article <1991Apr24.082948.17763@cs.ucla.edu> George Wu writes:
>I am thinking about buying a color NextStation but I have been
>somewhat alerted by some recent rumors about its capabilities.  
>      It is known that the color NextStation can display 4096 colors
>    simultaneously using 4-bits per pixel for R,G, and B.  Someone
>    thought this meant only 16 gray levels can be displayed ever !  Is
>    this true ?  

Yes, it is, of the 4096 different color values each pixel can take on,
16 of them are pure gray (Red == Green == Blue). However, PostScript 
employs dithering to display a lot more colors than can be represented
by the device pixel values; thus a 256-gray image will look a lot better
on the NeXTstation Color than on a non-dithered 16-bit display device.
In many cases a 24-bit color image on the NeXTstation Color
display is hard to distinguish from the same image on a 24-bit display.

>      Someone said the color NextStation display is 3-4 times slower
>    than the monochrome NextStation.  Does this mean real-time
>    animation is impossible to do on the color NextStation ?

It all depends on what you do, but my experience is that "3-4 times slower"
is not the general case.

Fiddling with the various user interface objects, typing, scrolling,
searching, compiling, debugging, etc are all zippy; the color machine feels
as fast as the NeXTstation in most cases.  The few times when the
NeXTstation Color will feel slower than the monochrome machine is when
an app is trying to open a big window with color in it; a
document-sized color window occupies about one meg, and trying to
allocate that memory will probably cause some paging and disk activity
at first. However, once the window is up and is in use, drawing,
scrolling, moving, etc are all real fast. Certainly not 3-4 times slower.

Thus the biggest hit you take is because of the increased memory usage
of apps with color windows. As mentioned above, a document sized color
window occupies about 1M of backing store, and with several such
windows in different apps, trying to switch between them might cause
some paging.

However, thanks to the window server's automatic depth promotion
strategy, which allows windows to get deeper as they need to, a lot of
the windows on the NeXTstation Color actually use the same amount of
memory as those on the monochrome machine.  Your vanilla Edit &
Terminal windows, as well as your Workspace browsers or Mail windows
which haven't displayed any color, all occupy as much memory as their
monochrome counterparts.

Also, thanks the optimizations in the window server and NeXTstation
Color's improved memory bandwidth, added to the fact that PostScript
drawing is a lot more than just putting pixels down, the raw drawing
speed is not much slower in the color case either. For instance,
drawing a rather complicated PostScript image ("Cobra" by Keith Ohlfs)
into a color window takes about the same time drawing it into a
monochrome one (36 seconds).  (It used to take about 32 minutes to
print the file on a LaserWriter Plus!)  Another case is running BreakApp
(from /NextDeveloper/Demos) with a screen-sized window. It runs at about
70-75 frames/second on the NeXTstation, and at about 35-40 frames/second
on the NeXTstation Color.  With a monochrome image, the frame rate
goes up to 80-85 frames/second on the color machine.  With the default sized
window, the frame rate is 105 on *both* the NeXTstation and the
NeXTstation Color, and 130 with a monochrome image on the NeXTstation
Color. (These are all highly informal timings by the way, I just did
them while typing this message up. Not official benchmarks by any
means!)

Anyway, my experience has been that during every day, steady state usage the
NeXTstation Color is certainly not 3-4 times slower than the NeXTstation;
for most things, it's as fast.

Ali, Ali_Ozer@NeXT.com

bard@jessica.stanford.edu (David Hopper) (05/06/91)

In article <3gbG4*$*1@cs.psu.edu> melling@cs.psu.edu (Michael D Mellinger) writes:
>
>don't know how fast the NeXT really is.  The #'s quoted here are
>*quite large* and I'm not sure I will believe them until I see some
>better animation with my own eyes.

Nor I.  Thanks for the skepticism, Mike.

>-Mike
>
>===========================================================================
>From: aozer@next.com (Ali Ozer)

Poor Ali.  He was an Amiga-ite before he was brainwashed by Jobs.
(Wotta hypocrite I yam ;-).

>It all depends on what you do, but my experience is that "3-4 times slower"
>is not the general case.

Well, MY experience is that 3-4 times slower IS the general case.
Only rarely is it NOT that slow.

>Fiddling with the various user interface objects, typing, scrolling,
>searching, compiling, debugging, etc are all zippy; the color machine feels
>as fast as the NeXTstation in most cases.  The few times when the
>[...]
>at first. However, once the window is up and is in use, drawing,
>scrolling, moving, etc are all real fast. Certainly not 3-4 times slower.

Well, of course this will depend on the configuration.  I've used a
NeXTstation Color, and it was slower in practice (although it WAS faster
than my '030).

>(from /NextDeveloper/Demos) with a screen-sized window. It runs at about
>70-75 frames/second on the NeXTstation, and at about 35-40 frames/second
>on the NeXTstation Color.  With a monochrome image, the frame rate
>goes up to 80-85 frames/second on the color machine.  With the default sized
>window, the frame rate is 105 on *both* the NeXTstation and the
>NeXTstation Color, and 130 with a monochrome image on the NeXTstation
>Color. (These are all highly informal timings by the way, I just did
>them while typing this message up. Not official benchmarks by any
>means!)

Not official?  These are ridiculous.  I wonder what he used to do the
timing.  Try animating something large, even on an '040.  You can SEE
the frame rate, meaning it's at best well below 30fps.  It's jerky, as
well.  If an object is partly off-screen, it will visibly speed up; it's
also clear that maintaining a high frame rate consistently is
impossible.  Even BreakApp gets jerky.  Welcome to Mach, folks.

>Anyway, my experience has been that during every day, steady state usage the
>NeXTstation Color is certainly not 3-4 times slower than the NeXTstation;
>for most things, it's as fast.
>
>Ali, Ali_Ozer@NeXT.com

I think it's pretty much understood that the NeXT has not the real-time
OS that the Amiga has.  If the state of animation on the NeXT is
exemplified by the movies and games provided on-disk (c'mon, it's been
two years now), then the NeXT is no competition when it comes to
animation.  Even if Ali seems to think it is ;-)

Dave Hopper      |     /// Anthro Creep  | Academic Info Resources, Stanford
                 |__  ///     .   .      | Macincrap/UNIX Consultant
bard@jessica.    |\\\///     Ia! Ia!     | -- Just remember: love is life, and
   Stanford.EDU  | \XX/  Shub-Niggurath! | hate is living death. :Black Sabbath

aozer@next.com (Ali Ozer) (05/08/91)

In article <1991May6.024252.12256@leland.Stanford.EDU> David Hopper writes:
>In article <3gbG4*$*1@cs.psu.edu> Michael D Mellinger writes:
>>don't know how fast the NeXT really is.  The #'s quoted here are
>>*quite large* and I'm not sure I will believe them until I see some
>>better animation with my own eyes.
>Nor I.  Thanks for the skepticism, Mike.
>>From: aozer@next.com (Ali Ozer)
>>(from /NextDeveloper/Demos) with a screen-sized window. It runs at about
>>70-75 frames/second on the NeXTstation, and at about 35-40 frames/second
>>on the NeXTstation Color.  With a monochrome image, the frame rate
>>goes up to 80-85 frames/second on the color machine.  With the default sized
>>window, the frame rate is 105 on *both* the NeXTstation and the
>>NeXTstation Color, and 130 with a monochrome image on the NeXTstation
>>Color. (These are all highly informal timings by the way, I just did
>>them while typing this message up. Not official benchmarks by any
>>means!)
>Not official?  These are ridiculous.  I wonder what he used to do the
>timing.

A time function at the top of the animation loop was what I used; the
source is on the machine, you can try it yourself.  This app uses
compositing, which is fast, and it composites sections which are not
the size of the whole screen. Thus these values are correct and
repeatable. You can even use something like the following to time
compositing --- the below code composites a 400 x 400 dark gray area, and
takes 3ms doing it. With 12-bit color, it takes 16 ms/frame. With these
values in mind, I hope you can see that the numbers I quoted above are
perfectly reasonable. 

	/g gstate def
	0 0 400 400 0.333 setgray rectfill
	500 {0 0 400 400 g 400 400 Copy composite} repeat

Ali