3dfx Voodoo Graphics review

Rise of 3dfx

Certainly the story of 3dfx was written down many times and in much better way, but just to stick to my format here is my few cents.

There were old well known graphics companies and then there were completely new startups trying to make their fortune of yet to be born home 3d market. 3dfx was founded in spring 1994 and became the most important company of the whole bunch. The three important engineers, Scott Sellers, Ross Smith and Gary Tarolli, came from Silicon Graphics. Before 3dfx they worked in Media Vision on high performance multimedia product like ProGraphics 1024. Perhaps from their surnames came the code string SST. SGI experience was formative to both software and hardware development. Fourth man was Gordon Campbell, coming after pioneering fabless hardware design at Chips&Technologies. Important part of the success story is associated with the fifth employee and first engineer Brian Hook, creator of Glide API. Hook left before the glory days of 3dfx and joined Id Software to create more awesome three dimensional stuff. 3dfx received $5.5 Million in initial funding and begun to work on first architecture named Voodoo. By the end of 1995 first demonstrations of the 3dfx technology amuse many gaming developers, Microsoft and just about anyone with a clue about difference which the chipset can make. First board manufacture contract with Orchid is sealed. Another piece of the success puzzle was good relationship with game developers and propagation of proprietary Glide. Credit goes to Brian Burning's developer relations department.
In March of 1996 15 titles with Voodoo support debut in E3 and audience is shaken by wholly new levels of visual quality. With future shaping up 3dfx receives over $11.6 Million in second round of funding. While Voodoo chipset remains too expensive for PC market first coin-op machines by several companies are appearing. In August 3dfx abandons plan for own exclusive card as falling memory cost make board manufacturers accept unusually high price of 3d only Voodoo Graphics. Suddenly the whole card is viable consumer product. Orchid was first to take the oportunity, Diamond, Creative Labs and many others followed. Perhaps most importantly Voodoo has first big hit via support in Tomb Raider. In February 1997 was released GLQuake thanks to efforts of 3dfx. Voodoo Graphics pretty much brought an end to Rendition's oh-so-short hayday and occupied leading position for few next years.


This notorious picture sums it up pretty nicely.

Behind the Magic

From the ground up 3dfx planned to build high end 3D gaming board capable to deliver smooth gameplay at 640x480 resolution with bilineary filtered textures. Voodoo Graphics is connected to a VGA output of 2d graphics and when 3d rendering starts the Voodoo board outputs it's own signal. Thus Voodoo does not depend on PCI bandwidth and image composition like PowerVR does. Voodoo Graphics is made of two chips- usual pixel pipeline and separate texturing unit. This allowed 3dfx to scale solution with versatile chip counts for arcade machine end very high end PC boards from Obsidian. It was also practical to limit transistor count of chips to safe amount and to get enough pins for communication. The pixel pipeline chip is named FBI (if I had to guess it stands for frame buffer interface) and texturing chip is TMU (texture maping unit also named TREX). Important tasks performed by the FBI are scan line conversion, Z-buffering, blending and commands texturing. Per pixel perspective correction is efficiently handled by interpolation between lookup tables. The TMU can perform single pass bilinear texturing with mapmapping or in two passes trilinear texturing with mapmapping. Full speed bilinear is achieved by four way interleaving memory banks rather than texel caching. Common texture formats up to 16 bit are supported, up to 256x256 resolution. Final pixel goes back to FBI. Both chips have their 64 bit memory interface to own local memory. Positive is, assuming balanced load Voodoo enjoys effectively 128 bit local memory path. Together with frame buffer controller there is in total six way memory interleaving, Voodoo enjoyed massive bandwidth. On the negative side frame buffers and texture memory are not united, therefore the memory capacity and bandwidth may not be fully utilized. Typical Voodoo Graphics board have 2 MB for framebuffer and 2 MB for textures. It was enough throughout Voodoo's lifetime but perhaps also thanks to developers being cautious about the standard-defining board. 2MB framebufffer suffice for tripple-buffered 640x480x16 resolution. Texture memory capacity and bandwidth limitations are elevated by proprietary FXT compression. The compression being lossy may be one of the reasons why Vooodoo's texturing is unusually blured output. Both chipset and memory are clocked synchronously at 50 MHz. Voodoo is close to single cycle performance and sustains 30 millions bilineary filtered textured pixels per second in non trivial scenarios. This massive raw performance made all the difference. While color writes and Z-buffer are limited to 16 bit, sensitive alpha blending operations are performed at 24 bit precision. Feature set is rich for the time and became pretty much standard for following years.

Voodoo Graphics

Up here is later Voodoo model from 1998 with extra texture memory by Innovision. Do not expect more performance, the point is better compatibility with newer games. And don't mind the mess on memory chip placement, provious owner thought he can upgrade it further by soldering on more memory. Yes it survived.

Down here is typical board with 4MB, the Venus 3D from Biostar.

50 MHz DRAM provides at peak 400 MB/s, which is exactly enough to handle 3D frames drawn at theoretical maximum drawing speed of 50 MPixel per second.

Performance

Upon it's release power of Voodoo was so shocking that it was hard to imagine a need for something more in the future. In 1997 first competitor, the Riva 128, appeared and legendary rivalry between 3dfx and Nvidia over high end market has begun. Reviews of 1997 tells us Riva 128 was 10% faster in Direct3d, loosing some in OpenGL due to early drivers and of course roflstomped where Voodoo could use Glide. Testing those two with their last official driver I got these results.

So the Riva on a system with very powerful CPU and open API games fulfills it's prophecy and beats Voodoo Graphics by 25%. This does not take away any fame from 3dfx since the Riva is one year younger and with processors common in that time the difference would be smaller. Also the Riva has an unfair advantage in OpenGL because I could not find a way how to enable vsync. I did a few quick tests with 6 MB version of Voodoo. With double of texture memory it should avoid some swapping in newer games.

Well, 4% average is nothing to get excited about, but more memory certainly does not hurt. The difference is perhaps so small because the card cannot deliver high framerates in newer games even if it had enough texture memory. 3dfx depended a lot on their 3:1 FXT texture compression to get around with typically less texture memory than competition. 24 bit RGB is converted to 8-bit YIQ format by CPU. As long as a texture has similar color components the image quality should not suffer.

Experience

With latest official driver 3.01 the Voodoo is very convenient to use. OpenGL ICD is used for the tests, it's performance is close to earlier specialized minigl drivers. Image quality is top notch, Voodoo beats others in drawing atmospheric effects using it's proper blending, quality bilinear filter and rich table fog. On the other hand textures may sometimes be too blurred and default gamma can be too high for some gamers. Compatibility is very high but still not completely perfect. Warbirds are too demanding, URP freezes in d3d. Turok seems to run at unbelievable high framerates. There are no low resolution tests because Voodoo Graphics lowest supported resolution is 512x384. Also some results are missing because some games with Glide support refuses Direct3d for Voodoo. Such is the case of Fifa RTWC, Resident Evil, Unreal. You can check screenshots in the gallery.

But first a warning about 3dfx screenshots. Take a look.

By clicking on the image a highlighted are will zoom in to show obvious pattern. The screenshots are from framebuffer were colors are stored after dithering into 16 bit to save memory bandwidth and capacity. Later on the way to display special ramdac upsample them so such patterns are not visible during actual gameplay. Effective color precision of 16 bit mode of 3dfx is higher, and that is why they stick with it for so long. Hypersnap DX contains feature that should capture image that is actually displayed by Voodoo, but it did not work for me with those old cards. It certainly does its job since Voodoo2.

Conclusion

3dfx made most of gamers believe this kind of hardware is useful. Sure, without 3dfx it would only happened later, but from my point of view there is no higher achievement. There just wasn't any bigger upgrade in visual experience throughout the 3d acceleration history. Voodoo also found it's place in arcade machines and through Quantum's multichip boards targeted professional high-end as well. Key to this success was focus on raw power in fundamental 3d operations and ommiting anything else. 3dfx cut the right corners of pipeline, reducing gate count without much impact on image quality. Voodoo was easy to program and hard to slow down. Only thing 3dfx was missing was a complete 2d/3d solution, and next article is just about that infamous attempt.

continue to Voodoo Rush review