3dfx Voodoo Banshee - a historical view
The 3dfx Banshee was the first true 2D/3D chip made by 3dfx and hit the market in early October, 1998. The previously released 2D/3D card "Voodoo Rush" was a combination of a slightly altered Voodoo Graphics 3D chipset as well as a 3rd party 2D chip on a single board. The Rush managed to be more or less an instant failure thanks to (sometimes drastically) inferior performance compared to older Voodoo Graphics. On top of that, many games showed compatibility problems with early driver versions. Its 2D image quality (especially on cards using the Macronix "MX" chipset) was also pretty bad - the cards mostly had RAMDAC clocks as low as 160 - 180 MHz, which didn't allow for high 2D resolutions and refresh rates. In a nutshell - the Rush had no true strengths but a lot of weaknesses.
3dfx did not want to make the same mistakes again und armed the chip with one of the fastest 2D cores on the market. All Windows GDI functions were implemented in hardware. The Banshee featured a 128Bit 2D core matching VESA 3.0 specifications, which enabled the chip to be one of the fastest DOS gaming platform available - or to put it in 3dfx's words: "DOS speed beyond belief". The 2D signal quality could even rival Matrox cards, which were known to offer top notch 2D quality.
The performance in games was slightly behind a single Voodoo 2 in average, as the chip was clocked higher but could not do Single Pass Multitexturing like the SST-2 could. In games that did not use Multitexturing, the card was able to outperform and to render higher resolutions than a Voodoo 2, which was limited to 800x600 (SLI: 1024x768).
3dfx did not release the Banshee as a successor to the Voodoo 2 but gamers nevertheless expected higher performance of any newer product. Back then, it wasn't usual to release the fastest card first and cut-down versions later - every new card was expected to be the next "big bang". But the Banshee was exactly that: a top notch 2D solution with enough power for gaming - complemented by best-in-class compatibility for games. In terms of pricing, the chip was placed in the midrange market, with a launch price of around 300 DM (in germany).
The competing chipsets back in the day were nVidia's Riva TNT, Matrox G200 and the S3 Savage 3D. The only real threat was the TNT, which was intended to rival the 3dfx Voodoo 2. nVidia's Riva TNT threw some new "important" features (like 32-bit rendering) in the ring and was an excellent performer overall. The Matrox G200 was already around for some time and offered equally good 2D quality as the 3dfx Banshee. But its performance was inferior and the lacking OpenGL support didn't exactly help either. S3's Savage 3D was a not bad chip and performed quite well, especially when its new S3TC texture compression could be used. But poor drivers and production yield caused the chip to flop.
Despite the scepticism of the gamers and nVidia's strong TNT chip, 1 million Banshee chips were sold until December '98 and it became another success - especially in the OEM market.
3dfx Voodoo Banshee - a technical view
Technically, the Banshee didn't offer anything new (in terms of 3D features), but was rather a step backwards from a performance point of view. 3D-wise it is a Voodoo 2 core with only a single TMU and higher clocks integrated into one single chip. Additionally, even though it could use the AGP interface physically, the Banshee did have no capabilities to use the main memory for texturing (AGP texturing) in case of video memory shortage, nor does it benefit greatly from the faster connection the AGP port offers. The Banshee runs at PCI66 mode (AGP 1x speeds) in the AGP Port.
But an important innovation was, that the resolution was no longer limitied to a maximum of 800x600 (Voodoo 2) or 1024x768 (Voodoo 2 SLI). If the game or the performance allowed it, the Banshee could render higher resolutions, even 3D acceleration in windowed mode was now possible.
Also exclusive to the banshee (speaking of the 3dfx ecosystem), is the possibility to run the core / memory clockspeeds asynchronously. No 3dfx chip before (Voodoo 1 / 2, Voodoo Rush) or after the Banshee (Voodoo 3 / 4 / 5) was configured this way. All other 3dfx cards ran core and memory synchronously and did not offer the possibility to individually raise / lower the clocks.
The Banshee reference card was clocked quite conservatively at 100/100 MHz, but many manufacturers did not stick to this and overclocked the Banshee by default. Its chip did not have a lot of headroom without massive cooling (like the Voodoo 2, the Banshee was produced in 0.35 micron), but some manufacturers clocked the chips up to 110 MHz. The memory speed was sometimes even raised much further, Diamond clocked the Monster Fusion's memory at 120 MHz and Gigabyte even went as far as 130 MHz on the memory.
Banshee cards were available with the following memory variations:
- Memory Size: 8 MB / 16 MB
- Memory Type: SD-RAM / SG-RAM
- Memory Speed: 7ns (rare!!) / 8ns / 10ns
Since the Banshee is based on Voodoo 2 technology, it cannot render in 32-bit color depth. But a 22-bit postfilter can be enabled, which allows image quality close to 32 bits - at a much lower impact on performance. A Riva TNT in 32-bit mode is no competition to a Banshee rendering in 22-bit mode. Many reviewers at the time claimed the 3dfx Banshee offered poor image quality when comparing 16-bit mode of the Banshee to the Riva TNT's 32-bit rendered image. However, the screenshots did not correspond to the actual output quality on the monitor, because screenshots are read from the frame buffer - the Banshee actually processed every calculation with 24-bit precision internally. Through a dithering procedure, the image is reduced to 16-bit color depth for the framebuffer before the RAMDAC decodes it back to 22-bit quality (if the postfilter is activated). So the displayed image on the monitor was of much higher quality - but this was not visible on screenshots, which reviewers of course based their articles on.
The postfilter was further improved in quality and performance with the Voodoo 3 chip.