The Old and New Testament of the graphics hardware pipeline

 

Richard's rating: star.gif (1377 bytes)star.gif (1377 bytes)star.gif (1377 bytes)star.gif (1377 bytes)star.gif (1377 bytes)(Hall of fame)
November 2, 1999

The Oxygen VX1 from 3D Labs is my first 'Professional' OpenGL accelerator. Most of my graphics cards have been very low budget boards aimed typically at the 3D gaming/consumer market. When the Oxygen was released with a price point that made me choose between it and a new TNT2, I chose to try the Oxygen based on it's extra features. NVidia's TNT has been my number one favorite OpenGL board for quite a long time and I even switched back to it after working with the ATI Rage Fury for a while. Although I haven't personally sampled their new TNT2 or GeForce chips, my Oxygen board is going to be very very hard to beat. This is the first board to match and surpass the TNT's texture quality (which I thought would be nearly impossible).

This board definitely raises the bar for driver quality. If the majority of game board manufacturers had drivers this good, 75% of my support calls for Starstone would disappear. Not once has the driver crashed my system on either NT or Windows 98. I'm using the PowerThreads driver on a Super7 Motherboard with 256MB of RAM and an AMD K6-2/400 CPU. Screen resolution is 1152X864/24bit color. Performance is certainly better than my original TNT, even in 16-bit color (where the TNT screamed). I don't strictly do games programming, so I can't tell you enough how happy I am with this board. Look at the screen shot to the right.oxygen.jpg (34481 bytes) Every window you see (even the background window) is OpenGL accelerated. Not everyone is running at full speed, but everyone is running faster than software rendering - and I mean noticeably faster as in 10fps instead of 0.5fps! Go ahead, stick this up your favorite game cards rendering pipeline! Even my beloved TNT couldn't come close to handling this test. I left this running all day and switched between them, did other work, etc. If you are doing 'real' application work (as opposed to full-screen single accelerated window games), there really is a difference between this and the other boards I have ever used. With this board, you'll get no silly crashes because your OpenGL based screen saver kicked in while your OpenGL based application was rendering. Ever minimize your OpenGL based program, and maximize it later to find you have an empty non-rendering window? Not with the Oxygen you won't (unless you fall prey to the CS_OWNDC bug-a-boo under Windows 95/98- but I've still had this happen when the code is OK and/or I'm running NT...).

Benchmarks are crap. This board cannot run Quake or any other game I tried as fast as some of the other new 'game' boards. None of the game boards can run the screen shown here as fast as the Oxygen either... what does this mean? It just means that the 'game' boards are highly tuned to scream polygons out as fast as possible, with less emphasis on driver quality. Let's face it, if you had to reboot your computer every time after you printed something, you wouldn't be too happy with whoever made your printer. Most people put up with this in 3D graphics cards because they 'think' they are getting a better board because it gets a better score in some game they like. Gee, I can make any program I have ever written run faster if I comment out all the error checking code... that's why some of us like to be called engineers.

This board is 'fast enough'. A lot of people who read that will think I'm being lame. I'm one of those weird'os that doesn't care if his frame rate is higher than the refresh rate of his monitor. I'm getting 60 fps on my latest real-time project. By the way, for those who don't know, real-time means that no matter how fast your graphics card, the animation does not happen any faster or slower (just more or less smoothly). When I turn off the 'Wait for VBlank', I get almost double that. This means I have plenty of CPU left (when gated to 60Hz) for physics and other geometry processing, and the moons won't circle Mars any faster with a newer graphics card later - this makes me happy.

In summary, If you are learning OpenGL because you want to write 3D 'applications', this is my #1 pick. If you are doing games, this will give you a stable platform to develop on, but you will want to tune and test against one of the other more popular 'game' boards (NVidia). While I think NVidia has done a lot for OpenGL in terms of consumer market penetration, they still have some 'game' board characteristics (I've seen some 'weird' behaviors that I deduce are intended to increase fillrate). The Game boards are great when you have ONE 3D accelerated program running at a time (most games), but every developer should have one of these boards. I test on both the game boards and on my Oxygen. Software I develop on the Oxygen often fails on other boards. When I investigate, it turns out to be a driver bug on the game boards driver that I need to work around. When I develop on a game board, the code often fails on the Oxygen. When I investigate it turns out to be an OpenGL coding error that I 'got away' with on a buggy driver. That's about as strong a recommendation as I can make<g>.