NVIDIA GeForce3 im Detail

27.02.2001 von Bernhard  Haluschak
Endlich - der GeForce3 ist da. Die Lobeshymnen auf NVIDIAs jüngsten Power- Grafikprozessor (Codename NV20) sind laut. Doch über welche neuen Features verfügt der schnellste Grafikchip der Welt?

Am 27. Februar hat NVIDIA auf dem Intel Developer Forum (IDF) in San Jose, Kalifornien und Paris, Frankreich, offiziell die neue Generation ihrer Grafikprozessor-Familie vorgestellt - die GeForce3. Wie komplex der Chip geworden ist, beweisen die insgesamt 57 Millionen Transistoren, die auf dem Die untergebracht sind. Im Vergleich zum Vorgänger GeForce2 mit 25 Millionen Transistoren sind das mehr als doppelt so viel Elemente. Gleichzeitig wurde der Fertigungsprozess von 0,18 µm auf 0,15 µm umgestellt.

Die erste GeForce3-Karte zeigte ELSA mit der GLADIAC 920, die dem Referenzdesign von NVIDIA entspricht. Sie ist mit insgesamt 64 MByte DDR-SDRAM bestückt. Ein großer Lüfter samt Kühlkörper verhindert kritische Temperaturverhältnisse auf der Chipoberfläche des Prozessors. Zusätzlich sind die Speicherbausteine mit aufgeklebten Kühlkörpern versehen.

Einen ausführlichen Test des GeForce3-Cips haben wir auf einen späteren Zeitpunkt verschoben. Denn NVIDIA und anderen namhaften Grafikkartenhersteller wie ELSA und Guillemot zufolge gibt es noch massive Probleme mit den Treibern. Diese unterstützen zusammen mit der zwingend notwendigen DirectX-8-API noch nicht die volle Funktionalität des Grafikprozessors. Eine definitive Beurteilung der Performance und Bildqualität ist somit nicht möglich.

Den direkten Leistungsvergleich aller bisher getesteten Grafikchips mit über 1100 Benchmark-Werten finden Sie unter Benchmarks im Überblick.

Technische Details

NVIDIA hat die Chip-Architektur beim GeForce3 gegenüber dem GeForce2 optimiert und erweitert. NVIDIA nennt sie nfiniteFX Engine. Die Hauptbestandteile bilden der integrierte Vertex- und Pixel-Prozessor, die Lightspeed-Memory-Architektur und die von der GeForce2 bekannte Geometriepipeline, bestehend aus der Transform-, Lighting- und Rendering-Einheit, die verbessert wurde.

Der NVIDIA GeForce3 arbeitet nach der Spezifikation mit einem Chip- und Speichertakt von 200 MHz und 230 MHz (460 MHz DDR-Speichertakt). Der 128 Bit breite Speicherbus unterstützt insgesamt 128 MByte SDRAM/SGRAM oder DDR-SDRAM/SGRAM. Daraus resultiert eine Speicherbandbreite von 7,4 GByte/s mit DDR-Speicher, das entspricht dem Niveau der GeForce2 Ultra.

Die folgende Tabelle gibt einen Überblick über Chip- und Speichertakt der aktuellen NVIDIA-Chips:

NVIDIA-Grafikprozessoren im Überblick

Grafikchip

Chiptakt

DDR-Speichertakt

Speicherbandbreite

GeForce2 MX

175 MHz

333 MHz

2,7 GByte/s (64 Bit)

GeForce2 GTS

200 MHz

333 MHz

5,3 GByte/s

GeForce2 Pro

200 MHz

400 MHz

6,4 GByte/s

GeForce2 Ultra

250 MHz

460 MHz

7,4 GByte/s

GeForce3

200 MHz

460 MHz

7,4 GByte/s

Die Rendering-Einheit enthält vier Pixel-Pipelines mit je zwei Textureinheiten. Daraus resultiert bei einem Chiptakt von 200 MHz eine theoretische Füllrate von 1600 Millionen Texel/s. Das entspricht dem Niveau einer GeForce2 GTS / Pro. Die effektive Füllrate dürfte durch die Verwendung der neuen Features wie der Lightspeed-Memory-Architektur mit Hidden Surface Removal (HSR) aber weitaus höher liegen.

Wie der 3dfx VSA-100 mit dem T-Buffer unterstützt der NVIDIA GeForce3 das Full Scene Antialiasing nach einem ähnlichen Verfahren, dem Multisampling. Verglichen mit dem herkömmlichen Supersampling-Vefahren soll es den Grafikprozessor weniger belasten und eine bessere Bildqualität liefern.

Zu den weiteren Ausstattungsmerkmalen des Chips gehören ein 350 MHz RAMDAC, ein integrierter TMDS-Transmitter und ein High-Definition-Video-Prozessor zur HDTV- und DVD-Dekodierung sowie volle Unterstützung des AGP-4x- und PCI-Busses.

nfiniteFX-Vertex-Prozessor

Ein Novum der NVIDIA GeForce3-Architektur ist der integrierte nfiniteFX-Vertex-Prozessor, auch Vertex Shader genannt. Dieser berechnet in Echtzeit grafische Spezialeffekte in 3D-Bildszenen.

Der programmierbare Vertex Shader lädt ein Programm mit einem Spezialeffekt und berechnet auf dieser Basis alle Scheitelpunkte (Vertices) der Polygone einer Szene neu. Die Berechnungen verändern die Ausgangsinformationen eines Vertex. Das sind hauptsächlich X-, Y- und Z-Koordinaten sowie Farb-, Transparenz-, Licht- und Texturdaten. Diese Aufgabe der Vertex-Berechnung hat bisher die T&L-Einheit oder die CPU übernommen.

Der Vertex Shader stellt im Grunde genommen nur eine Erweiterung der bisherigen T&L-Architektur dar und arbeitet unabhängig. Das heißt: Berechnet der Vertex-Prozessor Daten, liegt die T&L-Einheit brach und umgekehrt.

Die Verarbeitung mathematisch komplexer Vertex-Operationen erfordert eine spezielle und aufwendige Hardwarestruktur des Vertex-Prozessors. Diese erlaubt, Berechnungen drei- bis viermal schneller durchzuführen, als es mit Softwareunterstützung auf einer CPU oder mit der T&L-Einheit möglich wäre. Ein wesentliches Manko hat dieser Vertex-Prozessor dennoch: Benutzen die Programmierer dieses neue Feature nicht in ihren Anwendungen, ist der Performancevorteil dahin.

Effekte des Vertex-Prozessors I

Der programmierbare nfiniteFX-Vertex-Prozessor erlaubt, visuelle Effekte mit nur geringen Performanceverlusten in Echtzeit zu berechnen. Dazu gehören:

Komplexe Character Animation

Die Strukturen von Kleidung und Hautoberfläche wirken durch komplexe Character Animation sehr realistisch. Besonders Gesichtszüge beim Sprechen oder Lachen können naturgetreu dargestellt werden. Für dieses Verfahren stehen insgesamt 32 Kontrollmatrizen zur Verfügung.

Eine weitere Anwendung der Character Animation ist die Key-Frame Animation. Mittels zeitabhängiger Kontrollpunkte werden alle Zwischensequenzen (Key-Frames) eines veränderlichen Objektes in Echtzeit berechnet. Die Folge: Mit einer höheren Rendergeschwindigkeit der Hardware läuft die Animation flüssiger ab, da das Verfahren mehr Bilder zwischen den einzelnen Kontrollpunkten berechnet.

Environmental Effects

Effekte der Umgebung wie Nebel oder Rauch kann der Vertex Shader durch komplexe Berechnungen naturgetreuer darstellen. Bei der Ermittlung der Nebeldichte werden zum Beispiel Höhen und Vertiefungen der Objekte mitberücksichtigt.

Auch Lichtreflexionen im Wasser wirken durch die realitätsnahe Modellierung der Effekte echter, weil die Funktion unter anderem Einfallswinkel und Brechung des Lichts in die Ermittlung der Oberflächenbeschaffenheit einbezieht.

Effekte des Vertex Prozessors II

Der programmierbare nfiniteFX-Vertex-Prozessor ermöglicht es, visuelle Effekte mit nur geringen Performanceverlusten in Echtzeit zu berechnen. Dazu gehören:

Procedural Deformation

Procedural Deformations sind Animationen in einer statischen Szene, wie zum Beispiel eine wehende Fahne vor einem Gebäude. Doch auch die Animation eines Einschusslochs gehört zu diesem Verfahren, obwohl das Objekt nach dem Abfeuern des Geschosses eher statisch als dynamisch wirkt.

Morphing

Ähnlich der Key-Frame Animation ist das Morphing eine weitere Animationstechnik des Vertex Shaders. Es berechnet aus einem Anfangsreferenz- und Endreferenzobjekt die Übergangsphasen. Die Geometrieberechnung der Zwischenbilder geschieht zur Laufzeit in einem temporär angelegten Speicher. Das Ergebnis ist eine flüssige Bildanimation zwischen den vorgegebenen Referenzbildern. Diese so genannte Morphing Animation ist unabhängig von vordefinierten Zeitintervallen, wie sie bei der Key-Frame Animation erforderlich sind. Das bedeutet, eine schnelle Renderhardware berechnet nicht mehr Zwischensequenzen, sondern beschleunigt den gesamten Morphingverlauf.

Effekte des Vertex-Prozessors III

Mit dem programmierbaren nfiniteFX-Vertex-Prozessor sind visuelle Effekte mit nur geringen Performanceverlusten in Echtzeit zu berechnen. Dazu gehören:

Motion Blur

Der Vertex Shader kann verschiedenartige Bewegungseffekte generieren. Einer davon ist der Verwischungseffekt, auch Motion Blur genannt. Bei bewegten Objekten erzeugt der Vertex-Prozessor eine verwischte Bewegungsspur, die eine besondere Dynamik des Objekts hervorheben soll.

Lens und Lighting Effects

Auch anwenderspezifische Transformationen wie den Effekt optischer Lupen (Lens Effect) oder zweiseitige Lichteffekte unterstützt der programmierbare Vertex Shader. Letzteres war in der Vergangenheit nur mit enormem programmiertechnischen Aufwand möglich, da die Innenseite des beleuchteten Objekts erst zeitraubend modelliert werden musste.

nFiniteFX-Pixel-Prozessor

Eine weitere Neuerung der NVIDIA GeForce3-Architektur ist der integrierte nfiniteFX-Pixel-Prozessor. Er ist Teil der von NVIDIA patentierten PixelForge-Architektur des GeForce3 und erlaubt dem Entwickler Pixelfunktionen (Licht, Farbe, Transparenz) individuell zu programmieren.

Die GeForce2-Architektur unterstützt nur Dot3-Bump Mapping. Der Grund sind die Pixel-Pipelines mit fest vorprogrammierten Funktionen. Texturen kann man zwar in Single-Pass- oder Multi-Pass-Technologie kombinieren, aber ein Zurückführen (Loopback) der Texturen in die Textureinheiten ist nicht vorgesehen. Die Darstellung von Effekten wie Environment Mapped Bump Mapping (EMBM) sind somit nicht möglich.

Die drei wichtigsten Eigenschaften des Pixel-Prozessors sind:

Der programmierbare Pixel Shader ist in der Lage bis zu vier Texturen in einem Durchlauf (Single-Pass) zu verarbeiten. Das bringt gegenüber dem Multi-Pass (mehrere Durchläufe) deutlichen Performancegewinn, denn die Textur muss die Geometrieeinheit nur einmal durchlaufen.

Nachteil des Pixel Shaders: Will man diesen nutzen, ist DirectX 8 oder NVIDIAs OpenGL-Treiber zwingende Voraussetzung. Zudem erfolgt die Programmierung ausschließlich in Assembler, so dass Hochsprachen wie zum Beispiel C++ vom Entwickler nicht zu nutzen sind.

Lightspeed-Memory-Architektur

Mit einem Speichertakt von 460 MHz (DDR) hat der GeForce3 mit 7,4 MByte/s die gleiche Speicherbandbreite wie der GeForce2 Ultra. Um die zur Verfügung stehende Speicherbandbreite effizient zu nutzen, haben die NVIDIA-Entwickler den GeForce3 mit einer Lightspeed-Memory-Architektur ausgestattet. Diese umfasst folgende Technologien:

Crossbar Memory Controller

Herkömmliche 128-Bit-Speicher-Controller greifen auf den Bildspeicher (DDR-SDRAM vorausgesetzt) in 256-Bit-Blöcken zu. Doch bei komplexen Szenen mit sehr hoher Polygonanzahl pro Bild ist dies Verfahren nicht immer optimal. Bestehen Elemente zum Beispiel aus nicht mehr als zwei Pixeln bei 32 Bit Farbtiefe (insgesamt 64 Bit), sind nur 25 Prozent der Informationen auf dem Speicherbus zu nutzen, die restlichen 75 Prozent sind verschwendet.

Dieses Manko umgeht der GeForce3 mit dem Crossbar Memory Controller. Er besteht aus vier unabhängigen Speicher-Controllern die untereinander und mit Grafikprozessor kommunizieren. Sie können jeweils 64 Bit aus dem 256-Bit-Informationsblock pro Taktzyklus parallel autark verarbeiten. So kann die komplette Speicherbusbreite mit Daten unterschiedlicher Bit-Länge effizienter als bisher genutzt werden. NVIDIA spricht bei diesem optimierten Speicherzugriffen von einem balancierten Speicherbussystem, das bis zu viermal effektiver arbeiten soll als bisherige Lösungen.

Verlustfreie Z-Kompression

Der Z-Buffer verwaltet die Tiefeninformationen eines Pixel, der auf dem Bildschirm nach dem Rendern sichtbar oder verdeckt dargestellt werden soll. Diese Daten beanspruchen bei Transfers einen hohen Anteil der Speicherbandbreite.

NVIDA hat deshalb den Geforce3 mit einer Z-Kompression- und -Dekompression-Einheit in Hardware ausgestattet. Sie erlaubt es, die Z-Informationen in einem Verhältnis von 4:1 verlustfrei in Echtzeit und ohne Qualitätseinbußen zu komprimieren und dekomprimieren. ATI benutzt diese Verfahren bereits in den RADEON-Prozessoren.

Z-Occlusion Culling

Die bisherigen Grafik-Architekturen (mit Ausnahme des ATI RADEON und KYRO von STMicro) rendern jedes Pixel eines Dreiecks mit den entsprechenden Farb- und Tiefeninformationen. Dabei spielt es keine Rolle, ob das Pixel in der Szene sichtbar oder verdeckt ist. In beiden Fällen erfordert dies Zugriffe auf den Bildspeicher und blockiert so einen Teil der Speicherbandbreite.

Um die Belastung der Speicherbandbreite durch nicht sichtbare Pixel zu verhindern, hat NVIDIA im GeForce3 die Z-Occlusion-Culling-Technologie hardwaremäßig implementiert (auch bekannt als Hidden Surface Removal, kurz HSR). Die Z-Occlusion-Culling-Einheit erkennt vor dem Rendering-Prozess, ob ein Pixel in einer Szene verdeckt ist oder nicht. Dieser wird dann nicht weiter verarbeitet. Das spart Performance und Speicherbandbreite, weil überflüssige Arbeitsschritte wie Rendern und Speichern dann wegfallen.

Multisample Antialiasing

Das traditionelle Supersampling Antialiasing (zum Beispiel bei NVIDIA GeForce2 oder ATI RADEON) rendert eine Szene in einer höheren Auflösung als vorgegeben und rechnet sie dann auf die eingestellte Auflösung herunter. Das kostet Performance und benötigt zudem eine gesonderte Treiberunterstützung, um beispielsweise Objekte einer Bildszene für den Antialiasing-Prozess vorzusortieren.

Aus diesem Grund verwendet NVIDIA im GeForce3 das Multisampling-Verfahren. Es wird bereits im Highend-Workstation-Bereich und in Flugsimulatoren benutzt. Auch 3dfx verwendet mit dem T-Buffer eine ähnliche Methode des Full-Scene-Antialiasing. Alle Verfahren haben eines gemeinsam: Sie reduzieren die sichtbaren Treppeneffekte an Kantenverläufen.

Hauptbestandteil der Multisampling-Technik ist die Verdeckungsmaske. Sie stellt fest, welches Pixel-Sample verdeckt ist, und bestimmt daraus den neuen Farbwert des endgültigen Samples. Das Multisample Antialiasing von NVIDIA bietet drei Einstellungen:

Das 9x-Level-Multisample-Antialiasing erzeugt eine neunstufige Verdeckungsmaske um einen Pixel. Im nächsten Schritt wird die Blickposition jeweils um einen Offset von 0,5 Pixel von der Pixelmitte entsprechen der Verdeckungsmaske verschoben. Die neun generierten Pixel-Samples bestimmen die Farbe der vier finalen Samples eines Pixels. Es entsteht ein Farbverlauf, der unschöne Treppeneffekte an Kanten extrem mindert. Das 5x-Level-Multisampling arbeitet dagegen nur mit einer 5stufigen Verdeckungsmaske.

Vorteil dieses Verfahrens: Alle Operationen erfolgen in der normalen Auflösung. Das reduziert die Anzahl der Speicherzugriffe enorm und entlastet den Speicherbus. NVIDIA spricht bei der GeForce3 von einer Performancesteigerung im Vergleich zur GeForce2 um den Faktor 4 und bei der Speicherbuseffizienz um den Faktor 2.

Fazit

Der NVIDIA GeForce3 stellt lediglich eine Weiterentwicklung der bekannten GeForce2-Architektur dar. Denn die Struktur von vier Pipelines mit je zwei Textureinheiten wurde übernommen. Die neuen Features des GeForce3 sind der programmierbare Vertex- und Pixel-Prozessor sowie die Memory-Lighting-Architektur. Diese erlauben es, Funktionen wie Hidden Surface Removal (HSR) und FSAA nach dem Multisample-Verfahren zu nutzen. Um die volle Funktionalität des Chips allerdings auch nutzen zu können, sind DirectX 8 und entsprechende Treiberunterstützung notwendig.

Die aktuellen Spiele profitieren nicht von den neuen Features des GeForce3. Erst wenn die Programmierer die umfangreichen Funktionen in zukünftige Spiele einbinden, können sie das volle Potenzial des Chips ausschöpfen. NVIDIA kündigte an, dass die ersten Spiele mit GeForce3-Unterstützung schon bald nach der Veröffentlichung des Grafikchips zu haben sein werden.

Ob der NVIDIA GeForce3 die hohen Erwartungen in punkto Performance und Bildqualität erfüllt, bleibt abzuwarten. Sobald uns ein Testexemplar mit voll funktionsfähigen Treibern vorliegt, werden wir dieses ausführlich testen. Im Moment macht ein Test NVIDIA zufolge keinen Sinn (Stand: 27.02.01), weil die Treiber noch sehr instabil sind und die volle Performance des GeForce3 noch nicht nutzen.

Der Preis dieses Grafikboliden ist - wie bei NVIDIA mittlerweile fast üblich - horrend. Die zur CeBIT angekündigte Hercules 3D Prophet III soll mit 64 MByte DDR-Speicher 1329 Mark kosten und über einen TV-Out und einen DVI-Anschluss verfügen. Das Elsa Pendant, die GLADIAC 920 kommt zur gleichen Zeit ebenfalls mit 64 MByte DDR-RAM, jedoch ohne DVI-Anschluss für 1299 Mark. Diese Preise sind zur Zeit noch für Karten mit GeForce2-Ultra-Chip zu zahlen. Es bleibt also abzuwarten, wie tief die aktuellen Preise dieser Karten nach Erscheinen der GeForce3 in den Keller fallen.

Den direkten Leistungsvergleich aller bisher getesteten Grafikchips mit über 1100 Benchmark-Werten finden Sie unter Benchmarks im Überblick.

Einen detaillierten Vergleich der technischen Daten und Features der Grafikchips finden Sie in unserer tecDaten-Tabelle.

Die wichtigsten 3D-Begriffe haben wir im tecChannel-3D-Lexikon zusammengestellt. (hal))