Diamond Stealth 3D 2000 Review

This is a review of the Diamond Stealth 3D 2000 video card, based heavily on comparisons 
between the normal version of Descent II and the accelerated version that came bundled 
with the Stealth 3D 2000.  This article was originally posted to a few newsgroups, then was
modified slightly based on some of the responses, and made into this web page.  It is not
in any way a technical FAQ on 3D cards, and won't make much sense to you unless you are
familiar with the topic of 3D on PCs.

The card comes with 2 MB of Silicon Magic 40ns EDO DRAM and costs between $160 and $199 
retail.  The card is based on the S3-ViRGE chipset.  At the time I bought the card it 
was bundled with ViRGE-accelerated versions of Descent II (D2) and Descruction Derby.

Installing the Windows95 drivers for the Stealth 3D went perfectly and I was able to 
switch to a 1024x768 16bit desktop with no troubles.  Installing the games from the 
CD also went perfectly.  Both games run correctly and clearly use the 3D accelleration
features of the card.  Since I also have the normal, full version of D2 I did a lot 
of comparisons between the accelerated version of D2 running on the Stealth 3D and 
the normal version.  Here's the important parts of my system:

Intel Pentium 133Mhz CPU over and underclocked to 120 & 180Mhz
ASUS P55TP4XE MB, 256K PB cache
32MB EDO DRAM
#9 Motion 771 (S3-968) 2MB VRAM and Diamond Stealth 3D (S3-VIRGE) 2MB EDO DRAM

The version of D2 that comes with the Stealth 3D is called "Destination Quartzon".
It has the first 8 levels of D2 and works with the full, normal version of D2 for
multiplayer games (tried it on Kali).  It does not come with "Pandemonium" or
"Dogfight" and also will not use custom created levels (just doesn't recognize
them).  Apparently you can order a VIRGE-accelerated full version of D2 which
I assume would not omit these features.

The game runs by default in 640x480 resolution and does not allow you to pick
any other resolutions.  The kicker is: the framerate is pretty poor.  Typing
"FRAMETIME" in the game will give you an FPS readout (this works with normal
D2 as well).  Here are the framerates I get, in the starting position on the
first level, running at 640x480 cockpit mode, full detail, with the Stealth 3D.

Stealth 3D 2000, S3 VIRGE chipset, 120Mhz: 17.1 FPS
Stealth 3D 2000, S3 VIRGE chipset, 180Mhz: 16.8 FPS 
(yes, slower. probably due to small position change)

Running the normal version of D2 I get the following frame rates, same position,
full detail, cockpit mode, 640x480:

#9 Motion 771, S3-968 chipset, UNIVBE loaded, 120Mhz: 21.3 FPS
#9 Motion 771, S3-968 chipset, UNIVBE loaded, 180Mhz: 27.5 FPS

Stealth 3D 2000, S3 VIRGE chipset, 120Mhz: 20.4 FPS
Stealth 3D 2000, S3 VIRGE chipset, 180Mhz: 27.2 FPS 

[NOTE: For anyone who noticed, the #9's framerate number changed (went up
slightly) because I loaded UNIVBE.]

As you can see, at the same resolution you can get higher frame rates with the
normal version of D2 and a normal video card.  In fact, because the S3-VIRGE is
based on a good DOS chipset, the S3-Trio64V+, I got better frame rates by running
the normal version of D2 on the Stealth 3D.  However this is not a straight,
simple speed comparison, since the version of D2 that came with the Stealth 3d
runs in 16 bit color and uses features like filtering to improve the image quality.

What follows is a series of screen shots demonstrating some of the differences
between how the normal version of the D2 looks and how the version that came with
the Stealth 3D looks.  The screen shots are saved (by D2) in 8-bit palletted PCX
format, and I converted them to GIF.  For all the converting they really don't look
significantly different than the game looked and they still successfully capture
all the effects I am trying to demonstrate.  Note: the Stealth3D shots are only
darker because in my normal copy of D2 I moved the brightness slider up somewhat.

Objects at short range

Stealth 3D
Normal

Shows what interpolation/filtering does at short range.  Basically, instead of
texture mapped objects looking "blocky" at short range (as one texel maps to 
several pixels), things look fuzzy or out of focus.

Objects at long range

Stealth 3D
Normal

Shows what interpolation/filtering does at long range.  Instead of texture mapped
objects looking "sparkly" at long range (as too few texels are shown), things again
look fuzzy.

Objects at angles

Stealth 3D
Normal

Looking along a textured surface.  The far end of the surface becomes the average
color of the wall texture due to heavy interpolation/filtering.

Other effects

Stealth 3D
Normal

What it looks like to get hit.  Much less blocky.

Problems and bugs

Stealth 3D
Normal

A robot at medium range loses it's eye dots.  This is NOT because the game is
running in low detail.  At longer ranges the eye dots gradually fade away,
becoming the same color as the ship.  This appears to be a problem with the
texture-on-texture method of putting details on textured surfaces.

Stealth 3D
Normal

The grid visible around the shot is an odd and ugly dither artifact.  Dithers
are done whenever a 3D processor works natively with 24 bit color but is using
a 16 bit framebuffer (there are other sources of dithering as well).  These
particularly bad dither artifacts appear to be caused by alpha blending, in
this case, the sprite of the shot is being blended with the floor behind it.
Alpha blending involves reading previously rendered (and therefore dithered)
pixels back from the framebuffer,  and once the blend is done, the pixels are
dithered again as they are written to the framebuffer.  This makes the dither
artifacts particularly bad in this case, although the dither patterns are more-
or-less visible everywhere.

Stealth 3D

Same dither artifacts, this time on a wall that is behind an opened
door.  Blending is being done with the (now transparent) door polygon(s).

Stealth 3D

Bug #1.  Weird lines appeared on the edge of every floor square after taking
a series of screenshots.

Stealth 3D

Bug #2.  The edges of old menus linger (vertical line to right of current menu)

Parallax, the developers of Descent and Descent II, posted in the thread in
response to many questions concerning whether D2 had been well optimized for
the ViRGE chipset.  The gist of their posts was that the port was done by
programmers at Interplay, but Parallax considered those programmers to be
"technically strong", and thought that they had gotten everything they could
out of the ViRGE.

For my own part, it seems to me that if the game runs at the same speed with
a 120Mhz and 180Mhz processor, the ViRGE is probably the bottleneck.

Since I do not have the normal version of Destruction Derby I was not able
to make any comparisons.  The version that came with the ViRGE ran at 512x384
in high color, and ran at about 15-25 fps.  If the filtering option is turned
on, the speed goes down to about 8-15 fps.  These frame rates are probably OK
for a racecar game (in Descent they would be nauseating), however even at 
512x384 with filtering on the game looks blocky as it uses very low resolution
textures.

[NOTE: I originally thought the game was running in 1024x768 because of the
horizontal and vertical scan rates that my monitor was showing (which matched
1024x768 70Hz refresh).  512x384 uses the same scan rates and is in fact 
exactly 1/4 of a 1024x768 screen.]

In my opinion this is a pretty poor showing.  I would think that as a minimum
we should expect a 3D accellerator to run a game as simple (in polygon count)
as Descent at 640x480 at at least 30 fps.  Furthermore it seems that several
other cards are able to do just that (and more) at competitive prices.

ViRGE-based cards are a very good value in terms of Windows (on par with the
Matrox Millenium) and DOS performance (on par with the S3-Trio64+), but the
3D isn't really up to the performance level needed for gaming.  If you are
primarily a Windows user who may want some 3D accelleration for VRML on
the web, the Stealth 3d may be for you.

        Charles "Myrkul" Kendrick