3dfx

From Vogons Wiki
Revision as of 07:36, 21 February 2013 by Enigma (Talk | contribs)

Jump to: navigation, search

3dfx (written as 3Dfx until 1999) was a 3D graphics chipset manufacturer and later on graphics card manufacturer. Founded in 1994, the company was one of the pioneers of 3D graphics in the PC industry in the mid to late 1990's. They played an important role in the business until 2000, when most of their assets were purchased by Nvidia Corporation, after which the company filed for bancruptcy and officialy went defunct in 2002.

General 3dfx advice

3dfx cards - namely their proprietary Glide API - can be considered one of the prime reasons to use vintage hardware today, because many early 3D games starting from 1996 had versions for at least some 3dfx cards, and in a lot of times, those versions had the superior image quality. Perhaps the most notorious example here is Unreal (1998), a game that first was developed for software rendering, but had a Glide renderer added as soon as it was clear that Voodoo would come out as the best 3D accelerator. The game also had Direct3D and OpenGL renderers, but Direct3D was well in its infancy back in the day and even the OpenGL renderer wasn't their best effort, therefore players with competitor cards had to wait for Epic's patches to improve the graphics, but in the end it would take fanmade patches to provide competitive renderers.

It was also common for game developers to put 3dfx logos on their games' boxes, leading to misconceptions for a decent amount of games supporting Glide which actually do not at all, or only provide a special MiniGL driver for 3dfx cards. This was again due to 3dfx being the dominant 3D solution at this time, and also a commonly known brand with PC gamers. If a game does not directly access either glide2x.dll/ovl or glide3x.dll, it cannot be said to support Glide.

Since Glide was a proprietary interface, there were 3rd party efforts from day one to bring it to all 3D cards. Glide wrappers are at a level where they can properly emulate how those games would look on a real Voodoo card and can be considered a viable alternative to the real cards. A problem with them is that games written for Win9x are not necessarily compatible with modern operating systems, so only a (at best) period-correct Win9x system can be guaranteed to play all games properly.

The main weak parts of all vintage cards apart from incompatibility with modern mainboards/operating systems are lack of anti-aliasing (adressed with V5), anisotropic filtering (only started to be useful with about GF3) and bad performance in some then available Direct3D games, since Microsoft's API had the problem of not being programmable as close to the hardware as OpenGL and its MiniGL/Glide derivatives were and therefore was slow to take off initally.

Cards of Voodoo2 SLI/3 grade speed scale with CPUs up until about a ~1 GHz Intel Pentium III Coppermine, although a PIII 500 Katmai should be enough to get all Glide games going fluently. AMD's K6 line can only be considered second choice when building a 3dfx centered PC, because these CPUs can be a significant bottleneck with some later games. Pentium Classic and Pentium MMX CPUs will only be able to run the earliest Glide titles decently, as these CPUs were already reaching the end of their lifecycle when 3dfx cards arrived. Older games besides a very few exceptions should be able to cope with faster CPUs. Lastly, it should be noted that Voodoo Graphics cards will not work with K7 (Athlon) CPUs, and Voodoo2 cards will need special 3rd party drivers to work with these CPUs.

Community-made resources for 3dfx cards include drivers, such as Amigamerlin and x3dfx, which can provide more features and speed than the latest official drivers from 2000, or tools such as VoodooControl which provide more options. For better OpenGL compatibility or speed, one can use the MesaFX standalone OpenGL driver or Metabyte's WickedGL MiniGL driver.

Voodoo Graphics

Canopus Pure3D
Diamond Monster 3D

The Voodoo Graphics (retroactively named Voodoo 1) chipset was 3dfx' first foray into the PC market. Its release in 1996 was primarily made possible by EDO DRAM declining in price. The PCI cards, which were manufactured by board partners, feature a frame buffer processor, a texture processor, a DAC and 4 MB EDO DRAM (some later versions were released with 6 or even 8 MB). Both the RAM and graphics processors operate at 50 MHz, with 2 MB RAM being used as framebuffer and 2 MB as texture memory. A Pentium 90 with 8 MB RAM were considered the minimal specifications for these cards.

The chipset was rich in features, boasting perspective correct texture mapping, bilinear texture filtering, level of detail MIP mapping, sub-pixel correction, polygonal-based Gouraud shading and texture modulation. It natively supported Direct3D 5 and introduced Glide, 3dfx's own proprietary API that worked initially under DOS and later under Windows 9x and NT 4.0/2000/XP. Glide was essentially a cut down OpenGL implementation, with no support for features such as 32-bit color depth. OpenGL games were initially only supported through the use MiniGL, which were incomplete OpenGL implementations tailored for the particular target card and game; the best example of this was GLQuake, which offered better image quality and over twice the resolution compared to the commonly used 320x200 in regular software rendered Quake, all at similar framerates. In 1999, 3dfx released a full OpenGL ICD, thus finally granting native support for OpenGL games, which was becoming more and more important since full OpenGL support was required for the then-upcoming Quake 3.

The main disadvantage of the cards was that they could only do 3D, meaning that they had to be used in conjunction with a standard 2D card through means of a VGA passthrough cable. During boot and regular PC operation the 2D card would display the image like usual and run the signal through the Voodoo; however, when a compatible game was ran, the Voodoo Graphics would be enabled, taking over the host card. Combinations with S3 Graphics cards, as well as Matrox cards were quite popular. Unfortunately, the passthrough method was very dependent on the build quality of the used cable and could potentially lead to blurriness.

Thanks to 3dfx's efforts with videogame developers and publishers - the company's technology was quickly adpoted as the de-facto standard in PC 3D gaming - the Voodoo 1 enjoyed a lengthy support from game developers. Despite only supporting resolutions as high as 640x480 (800x600 without the usage of Z-buffering) and 16-bit depth, the card was more or less usable until 1999, when its performance in new games would have been slow.

The prime competitors upon its release were the PowerVR PCX1 and Rendition Vérité V1000 chipsets, the later of which already featured 2D processing onboard. Other competitors include the Matrox Millenium II/Matrox Mystique, ATI Rage II, S3 Virge and Nvidia RIVA 128, all of which had 2D functions, but only the RIVA 128 can be said to match the Voodoo 1 in performance, while of course lacking Glide support.

Today: The card's prime usage would be statically linked Glide games in DOS that depend on the first Voodoo chipset. Later games, starting with ca. 1997, are better played with the subsequent Voodoo cards. Cards with higher than 4 MB are a trade-off: they have somewhat higher compatibility to later games, but lose some compatibility with first generation titles.

Voodoo Rush

Voodoo Rush
Voodoo Rush (Macronix 2D)

Voodoo Rush was released in August 1997 for the PCI bus and adressed the main shortcoming of the Voodoo Graphics by being a complete 2D/3D solution. The chipset combined either an Alliance Semiconductor AT25/AT3D or Macronix 2D core on the same board as the exact same Voodoo chipset (on some cards the 3dfx part came as a daughterboard).

Unfortunately the combination of two independent chipsets led to a bottleneck for the 3dfx part and therefore about 10% lower performance. Some later cards had 6 or even 8 MB and somewhat higher clocks to close this gap. The cards also sometimes weren't fully compatible to existing games, leading to specific Voodoo Rush patches for some games, e.g. Tomb Raider.

It is interesting to note that the AT3D chipset actually has very rudimental 3D functions which can be activated, meaning that Rush cards that feature it have two 3D chipsets.

Today: Rush cards are widely considered an infamous early attempt at a 2D/3D card by 3dfx and should be avoided when building a vintage gaming system.

Voodoo2

Provideo PV830 (reference Voodoo2)

Released in early 1998, the Voodoo2 chipset expanded upon its predecessor by adding a second texture processor and featuring 12 or 8 MB EDO DRAM. The clock was increased to 90 MHz, therefore almost doubling the performance. Since the V2 features single-pass multitexturing and single-pass trilinear filtering (and therefore supports Direct3D 6), performance in games utilizing these features is even more increased, with the first notable one being Quake II (1997). Additionally, the cards support SLI (Scan-Line Interleave), a technique which allows 2 cards to be run simultaneously and draw the lines of the image in turn, further increasing performance and enabling resolutions up to 1024x768. With one card installed, up to 800x600 is possible.

A large amount of cards from different manufacturers was released, with some deviating from the reference design and/or featuring extra cooling and even slight factory overclocks. The Voodoo2 remained the best 3D accelerator card throughout 1998.

Today: The iconic Voodoo2 SLI setup holds nostalgic value for some people that experienced it back in the day. Thanks to the PCI interface, they can theoretically be used even in some modern mainboards, although there are rumors of them overheating in modern systems. In any case, the setup remains viable for the vast majority of Glide games released and has the advantage over V3 that it can play more Glide games originally only designed for Voodoo 1 through a special batch file, although for later games, the newer cards have to be considered superior.

Banshee

Released in 1998, the Banshee was 3dfx' second attempt at a full 2D/3D card. This time, they integrated a 2D core, a single-TMU Voodoo2 and the DAC into one chip and clocked it at 100 MHz, meaning that the midrange Banshee was actually slightly faster in prevalent single-textured games than the high-end Voodoo2. In games utilizing multitexturing, such as Quake II and Unreal, the Banshee showed clearly inferior performance compared to the V2.

Due to better integration the chip outputs more heat and therefore all cards came with some kind of cooling solution. They featured 8MB/16MB SDRAM or SGRAM and came in PCI or AGP versions.

Its 2D acceleration was the first of its kind from 3dfx and was very capable. It rivaled the fastest 2D cores from Matrox, Nvidia, and ATI. It consisted of a 128-bit 2D GUI engine and a 128-bit VESA VBE 3.0 VGA core. The graphics chip capably accelerated DirectDraw and supported all of the Windows Graphics Device Interface (GDI) in hardware, with all 256 raster operations and tertiary functions, and hardware polygon acceleration. The 2D core achieved near-theoretical maximum performance with a null driver test in Windows NT.

Today: Although much better cards than Voodoo Rush, Banshees should be avoided for the most part, because of the suffering 3D-performance in more demanding games from the era. Still the new 128-bit 2D core for VGA graphics is one of the fastest and most compatible for demanding DOS games.

Voodoo 3

Voodoo 3 3000 AGP
Voodoo 3 3500 TV

The Voodoo 3, codenamed Avenger, was announced on COMDEX in November 1998 and released on April 3, 1999. Following the buyout of STB, 3dfx was now manufacturing their own cards. The Voodoo 3 was basically a higher clocked Banshee core outfitted with a second texture unit, therefore also incorporating the 128-bit 2D unit. The cards were released in four different flavors: the 125MHz Voodoo 3 1000, the 143MHz Voodoo 3 2000, the 166MHz Voodoo 3 3000, and the 183MHz Voodoo 3 3500 TV with integrated TV tuner. Except for the low-end V3 1000, which could also come with 8 MB, all cards featured 16 MB. The whole V3 line came both in PCI or AGP versions, with the 3500 being AGP-only. Some PCI versions featured SGRAM instead of the standard SDRAM. Thanks to the integrated 350MHz RAMDAC (V3 3000/3500), the maximum resolution is 2048x1536 at about 75Hz.

Now facing stronger competition from Nvidia's RIVA TNT line, which already had 32-bit color depth, higher than 256x256 texture support and AGP texturing support (all 3dfx cards use the AGP port as a mere 66MHz PCI port), the Voodoo 3 line was somewhat panned by critics and called outdated in terms of features, but was still considered to be very competitive speed-wise, because 32-bit rendering introduced a big performance hit on competitor cards. At that time, 3dfx' marketing was centered around speed, but to demonstrate that the image quality was still better than their last year's high-end setup, they invented the term "22-bit", describing the fact that the RAMDAC of the card would perform either a 2x2 box or 4x1 line filter on the image, depending on the driver settings, masking some of the dithering.

The RIVA TNT2 Ultra was competitive to the higher V3 cards in speed. The GeForce 256, which came out later that year, beats it both by features and performance in D3D and OGL games, but can still merely tie it in some Glide-centric games such as Unreal Tournament.

Today: A Voodoo 3 2000 roughly matches Voodoo2 SLI 12MB in speed, while only taking one slot and possibly still offering better real-world performance due to 4 MB more texture memory and maybe higher bandwidth due to higher clocked SDRAM. The image quality will be slightly better due to filtering. AGP and PCI versions of all 3dfx cards will perform virtually equally, because 3dfx did not make any use of AGP's unique features.

Like with all Voodoo cards, the cards will run games requiring 8-bit paletted textures or table fog. If all this is taken into account together with their good DOS compatibility/speed, clear image output, wide availability and low cost, the Voodoo 3 can be considered the all-around best "retro" card for games of its time frame and before.

Voodoo 4/5

Voodoo 4 4500
Voodoo 5 5500

The VSA-100 (Voodoo Scalable Architecture) was the final product from 3dfx and was released in 2000. Only the single-chip Voodoo 4 4500 and the dual-chip Voodoo 5 5500 made it to the market, both clocked at 166 MHz. It was a further refinement of the architecture of all previous products, with some changes and additions such as two pixel pipelines with one texture unit each (instead of one pipeline with two texture units), 32-bit rendering and larger texture caches. The chip supports 2048x2048 textures, FXT1 and DXTC texture compression.

Additionally, the marketing was now more centered on image quality ("cinematic effects") than speed: Due to the added "T-buffer" the Voodoo 4 4500 can do 2x RGSSAA (rotated-grid super-sampling anti-aliasing), while the Voodoo 5 5500 is capable of 4x RGSSAA. This method of anti-aliasing is considered high quality until today and was actually usable in a large number of titles with good performance. The Voodoo 5 matched the GeForce 256 or slightly edged it out, but was not competitive with high-end GeForce 2 cards, especially since Glide support in new games was rapidly declining by that time. Unlike the GeForce cards which were Direct3D 7 capable, the VSA-100 line was still limited to Direct3D 6, as it lacked Hardware T&L. This feature, which was introduced by Nvidia a year ago, was slowly taking off in 2000 and games from that time which use it are not optimally suited for these cards.

Voodoo 4 4500 cards have 32 MB SDRAM. Voodoo 5 5500 cards have 64 MB SDRAM, although only 32 of it are actually usable due to the SLI method used, much like with Voodoo2 SLI. They require a 4-pin Molex adapter.

Today: Being the last cards from 3dfx that made it to the market, both come at a premium. The V4 4500 is arguably not a much better card as the V3, since it scores similarly to a V3 at same clocks and trails higher clocked V3 parts, with the added features and more memory not playing a big role here. The V5 5500 is considerably faster and provides an optimal Glide experience up to around 1280x1024 without AA, with the added possibility of adding AA for excellent image quality. For the best possible framerates, it is commonly used in Athlon XP systems today.

As seen in the picture, Macintosh PCI versions of the V5 5500 have DVI outputs for clearer image quality. Using this with DOS games is said to cause problems due to locked refresh rates though.

Other 3dfx cards

The company also released other cards, such as the budget Velocity (name taken after the acquisition of STB) line, which only came with 1 TMU similar to Banshee, although the second one can reportedly be enabled by a registry hack. Also, 3dfx had plans for a Voodoo 5 6000, which would have come with four VSA-100 chips installed and would have been powered an external power supply, dubbed "Voodoo Volts". About 150-250 of these were made as prototypes. These cards beat Nvidia's GeForce 2 line and are even competitive with GeForce 3 when used with faster CPUs, and are also capable of 8x RGSSAA. The prototypes are considered "legendary" in the enthusiast community and are highly sought after, with prices easily as high as $1000 paid for them.

External links