3dfx Special zum zweiten Todestag

Seite 4 - Napalm, der VSA-100 (Voodoo Scalable Architecture)

Nachdem die Voodoo3 und im Prinzip auch alles andere was an Chips noch so präsent war von der enorm starken GeForce256 und deren DDR-SDRAM vernichtend geschlagen wurde, mußte sich 3dfx etwas wirklich Gutes einfallen lassen, um dem GeForce256 zu begegnen und sich die Krone der Performance zurückzuholen, also schnappte man sich aus der momentan laufenden Rampage Entwicklung wohl alles was zu holen war, da eine zum Release geplante "Voodoo3 4000" mit 32-Bit Support wohl zuwenig Leistung gebracht hätte. Inklusive einer verstaubten alten Idee, die man noch gut in Erinnerung hatte: S.L.I. Zusätzlich dazu adaptierte man eine Technologie aus dem professionellen CAD/CAM Bereich, und zwar den sogenannten "Accumulation Buffer", der eine fortgeschrittene Art des Oversamplings bedeutet. Oversampling heißt im Grunde nichts anderes, als eine Szene in einer höheren Qualität (Auflösung) zu rendern, als am Monitor ausgegeben werden kann ("Überzeichnung"). Diese Szene, die praktisch über zu viele Bildinformationen verfügt wird dann heruntergesampled, und am Monitor dargestellt. Man optimierte also die Arbeitsschritte dieser Technologie auf mehr Performance hin, und gab dem neugeborenen Kind den Namen "T-Buffer". Dieser war praktisch eine Extraktion aus der Rampage-Forschung am späteren "M-Buffer", eine Aufgabe die bei 3dfx Gary Tarolli auferlegt wurde, weswegen der Buffer auch das Prefix "T" erhielt. 

Dieser neue Buffer, der einiges an Speicher benötigt bietet theoretisch die Möglichkeit, jede Szene und jeden Szenenteil mit mehr Samples zu rendern, als eigentlich nötig. Dadurch lassen sich viele Effekte wie Full Scene Anti Aliasing, Motion Blur (Bewegungsunschärfe), Depth of Field Blur (Focusunschärfe), weiche Schatten und Reflektionen, ja sogar ein anisotropischer Texturfilter realisieren - und all das zugleich falls nötig. Bei der Entwicklung dieses Alleskönners achtete man insbesondere auf das FSAA, welches sofort in jedem bestehenden Spiel verwendbar sein würde. Bei dieser speziellen Form des Oversamplings (wird in Folge "Supersampling" genannt) kommt in der Regel ein einfaches, gerades Abtastungsgitter zum Einsatz, welches die Subpixel der vergrößerten Szene ermittelt. Im Fall des Napalm Projektes entwickelte man jedoch ein rotiertes Abtastungsgitter, welches die Qualität besonders flach angewinkelter Polygonkanten optimieren sollte. Um 45° gedrehte Kanten würden dabei nicht ganz so gut dargestellt, doch 45° Winkel bedürfen auch bei weitem keiner so guten Glättung wie eine um 10° geneigte Kante. Damit erreichte man in der Tat eine bis heute praktisch ungeschlagene Qualität in Sachen FSAA, auch weil das Supersampling innerhalb aller Texturen wirkte, anders als heutige Multisampling-Verfahren. Besonders profitabel war dies für Texturen mit Alpha-Transparenzen, wie etwa Gitter oder Zäune.

 

<Bild verloren>

So sah das Rotated Grid Supersampling 4xFSAA der Napalm alias VSA-100 alias Voodoo5 5500 im Endeffekt aus. Man kann gut erkennen, daß selbst an den flach geneigten Kanten kaum mehr Pixeltreppen zu erkennen sind. Obwohl dieser Anti-Aliasing Algorithmus nur mit 4-fachem Supersampling arbeitet, ist er doch bis zum heutigen Tage in Sachen Qualität jedem anderen Algorithmus überlegen. Zudem konnte man noch einigermaßen spielbare Leistungen mit 3dfx' Anti-Aliasing erzielen. Die Leistungseinbrüche waren nicht so stark wie in allen damaligen vergleichbaren Konkurrenzprodukten. Selbst eine GeForce2 Ultra konnte der Voodoo5 in Sachen FSAA nicht das Wasser reichen.

Leider verlief die Entwicklung und später auch die Produktion der Voodoo4 4500 (Single-Chip) und Voodoo5 5500 (Dual-Chip) eher schleppend, gebremst von internen Kommunikationsproblemen und Lücken in der Qualitätssicherungsabteilung. So verzögerte sich auch der immer noch in 0.25µm gefertigte VSA-100 Chip viel zu sehr, während nVidia fieberhaft am GeForce-Nachfolger bastelte. Bei 3dfx hatte man inzwischen erkannt, daß Speicherbandbreite eine enorm wichtige Angelegenheit werden würde, da die Mainstream-Karte Voodoo5 5500 aber eine Dual-Chip Lösung sein würde, konnte man aus Preisgründen keinen DDR-SDRAM mehr einsetzen. So unterstützte man einfach die neue Texturkompression s3TC (4:1) und entwickelte nebenher einen eigenen Texturkompressionsalgorithmus namens "FXT1", der Texturen auf ein 4-Bit Niveau (8:1) komprimieren und dabei Texturen trotzdem noch schöner aussehen lassen konnte, als dies mit s3TC und den DXTC Modi der Fall war. (DXTC = s3TC). Dabei wurden gleich 4 Algorithmen statt einem wie bei s3TC eingesetzt, um das gewünschte Ergebnis zu erreichen. Zudem feilte man noch am SLI Mechanismus, um dessen Leistung und Bildqualität bei deaktiviertem VSync zu optimieren.

 

 

<Bild verloren>

3dfx Interactive® Voodoo5 5500 AGP
2 VSA-100 Prozessoren auf 166MHz
64MB 166MHz SDRAM (Framebuffer unified)
666MPixel / MTexel Füllrate
T-Buffer (Motion Blur, Depth of Field Blur, Soft Shadows/Reflections...)
Rotated Grid supersampled "Spatial" Full Scene Anti-Aliasing, 2x & 4x
32bpp Rendering
Zusätzliche Stromversorgung notwendig
Maximal 26W Stromverbrauch unter voller Last
Karte ist sehr groß

Auf einem Size-O-Meter hätte schon die Voodoo5 5500 alle Rekorde gebrochen. nVidia kritisierte an der Karte (neben deren Größe) hauptsächlich den zusätzlichen 4-Pin Stromstecker und damit den Stromverbrauch der Karte sowie das fehlende T&L und den fehlenden DDR Speicher. Marketingtechnisch hatte nVidia damit bereits den Sieg davongetragen, doch Achtung, hier erliegen wir wieder einigen Aussagen, die mit Wahrheit nicht viel zu tun haben. Die GeForce256 brachte mit ihren 15-16W Stromverbrauch schon so einige Systeme ins Wanken, einerseits wegen zu schwachen Netzteilen und vielen VIA und AMD750 basierten Mainboards, die die Spezifikationen des AGP nicht erfüllen konnten. Eine externe Versorgung wurde wohl aus marketingtechnischen Gründen nicht erwogen, heute jedoch (R300, nv30) kommen diese Zusatzversorgungen zum Einsatz, als wäre es das Normalste auf der Welt. Zu T&L wurde bei 3dfx einmal ein schöner Satz gesagt, dessen Quelle mir unbekannt ist, den ich aber so gut wie möglich zu rekonstruieren versuche: "Bevor man zusätzliche Polygonkomplexität zu einer Szene hinzufügen kann, müssen zuerst alle Pixeltreppen entfernt werden, sonst wird die Qualität der Szene sogar sinken. Das ist es, was wir mit FSAA realisieren.". So falsch kann man nicht gelegen sein, versuchte doch nVidia noch unbedingt vor 3dfx einen funktionierenden FSAA Support treiberseitig hinzuzufügen, was auch gelang, nur eben nicht so schön und schnell war.

Das Speicherinterface der Voodoo5 war wieder etwas ganz besonderes, im Gegensatz zur Single-Chip Version Voodoo4, die praktisch nur eine bessere T-Buffer fähige Voodoo3 darstellte. Die Voodoo5 benutzt einen vereinten Framebuffer, was bedeutet, daß beide Kerne zur reinen Bilddarstellung auf dieselben Speicherbereiche zugreifen müssen. Bei den Textureinheiten verhält sich das aber schon ganz anders. Alle Texturen werden im Speicher doppelt abgelegt, was viel Speicher benötigt, die beiden Kerne aber in die Lage versetzt, gleichzeitig aus dem Speicher zu lesen, so behindern sie sich nicht beim Zugriff auf Texturen. Dies funktioniert praktisch ähnlich wie beim allerersten SLI, nur daß die Speicherbereiche in ihren Größen nicht mehr fix zugeordnet sind. Doch damit ist bei weitem noch nicht alles zur Voodoo5 5500 gesagt.

[«][Zu Seite 5 - Voodoo5 Fortsetzung][»]