Preview: NVIDIA GeForce 8800 GTX, 8800 GTS und nForce 6 - 2/5
09.11.2006 by doelf
Der komplette Artikel als Druckversion
Vom "Unified Shader" und DirectX 10
Mit DirectX 10 sehen wir uns mit grundlegenden Änderungen in der Architektur von Grafikchips konfrontiert. Bisher gab es eine strenge Unterteilung in Vertex-Berechnung und Pixel-Shading, die bei weniger komplexen Grafikchips auch Sinn macht. Wir erinnern uns: Die bisherige Aufgabenteilung bestand in der Geometrieberechnung (Vertex) und der Umwandlung der berechneten Eckpunkte (Vertices) in Primitive, also in einfache geometrische Objekte wie Linien und Dreiecke. Der Pixel-Shader kümmerte sich dann, wie sein Name schon sagt, um die Farbe und Textur der einzelnen Bildpunkte. Zu guter letzt schreiben die Raster Operation Einheiten alle sichtbaren Bildpunkte in den Framebuffer.
Während eine CPU möglichst flexibel sein muss, sind solche Pixel- und Vertex-Shader Spezialisten. Ein solcher Spezialist bewältigt eine komplexe Aufgabe sehr schnell, so dass eine geringe Zahl von Spezialisten ausreicht, die Taktrate aufgrund ihrer Komplexität allerdings nicht sehr schnell sein darf. Auf die Shader-Einheiten von DirectX 10 Grafikchips kommen jedoch mannigfaltige Aufgaben zu, welche neben der Vertex-Berechnung und dem Pixel-Shading auch Geometrie- und Physik-Shading umfassen. Es bietet sich daher an, eine Vielzahl unabhängiger Prozessoren anzubieten, von denen jeder einzelne Berechnungen aus allen Aufgabenbereichten vornehmen kann. Dieses Konzept der "unified shader", also der vereinheitlichten Shader, ist deutlich flexibler und ermöglicht eine effizientere Auslastung der gebotenen Resourcen, da die anfallenden Aufgaben nicht an eine starre Aufteilung der Resourcen gebunden sind.
Da diese universellen Rechenknechte weniger komplex sind, braucht man eine größere Zahl als bei den Spezialisten. Doch die von NVIDIA auf den Namen Stream-Prozessor getauften Einheiten können nicht nur flexibler eingesetzt werden, sondern erlauben auch eine deutlich schnellere Taktung als die spezialisierten Vertex- und Shader-Einheiten. NVIDIA bietet auf der GeForce 8800 GTX sage und schreibe 128 Stream-Prozessoren (GeForce 8800 GTS: 96) an, während die GeForce 7900 GTX mit 48 Pixel- sowie 8 Vertex-Shadern auskommen muss. Der Takt der Stream-Prozessoren liegt mit 1350 MHz (GeForce 8800 GTS: 1200 MHz) zudem deutlich höher als bei der GeForce 7900 GTX, deren Pixel-Shader mit 650 MHz und deren Vertex-Shader mit 690 MHz arbeiten. Im Rahmen der "GigaThread Technologie" soll es laut NVIDIA somit möglich sein, tausende unabhängige Threads parallel abzuarbeiten.
Wir müssen an dieser Stelle hervorheben, dass NVIDIA mit der Vereinheitlichung der Shader keineswegs nur das DirectX 10 Pflichtprogramm erfüllt. Der DirectX 10 API ist es vollkommen egal, wie der genaue Aufbau der Hardware aussieht, solange sie auf der Softwareebene die vorgesehenen Schnittstellen findet. Es könnte auf der Softwareebene somit Unified Shader geben, während im Chip selbst spezialisierte Einheiten zum Einsatz kommen. Eine solche Lösung wäre allerdings weit weniger effizient, wenn es um die Auslastung der gebotenen Resourcen geht.
Zu den Neuerungen von DirectX 10 zählen der "Stream Output" und der "Geometry Shader". Der Stream Output erlaubt es, Daten direkt vom Vertex- oder Geometrie-Shader in den Frame-Buffer zu schreiben, ohne diese durch die komplette Rendering-Pipeline schicken zu müssen. Die Ausgabe wird dann an die Raster Operation Einheiten weitergegeben oder erneut durch den Shader geschickt, um komplexe Shader Effekte umzusetzen. Der Geometrie-Shader gesellt sich bei DirectX 10 zum Pixel- und Vertex-Shader. Bisher beschränkte sich der Grafikchip darauf, bereits vorgegebene Objekte zu verarbeiten. Mit dem Geometrie-Shader ist es der GPU nun erstmals möglich, selber geometrische Objekte zu erzeugen und zu löschen.
Kommen wir nun zu drei neuen Fachbegriffen aus NVIDIAs Marketing-Abteilung: Unter dem Namen "Lumenex Engine" fasst NVIDIA 16-fache Kantenglättung, High-Dynamic Range Rendering mit 128 Bit Tiefe sowie Auflösungen von bis zu 2560x1600 Bildpunkten zusammen. Die "Quantum Effects Technologie" bezieht sich auf die Fähigkeit der neuen GPUs, auch Physikberechnungen zu übernehmen und damit die CPU zu entlasten. Das bedeutet natürlich auch, dass eine dedizierte PPU-Lösung nicht mehr gebraucht wird. Zudem will NVIDIA die Rechenkraft des Grafikprozessors auch Anwendungen zur Verfügung stellen. Dieser Ansatz ist zwar nicht neu, doch mit der Einführung der GeForce 8800 bietet NVIDIA eine neue C-basierende Plattform für Entwickler an: "Compute Unified Device Architecture" (CUDA).
Nachdem die anisotrophe Filterung der GeForce 6 und 7 nicht wirklich überzeugen konnte, hat NVIDIA hier deutlich nachgebessert und sogar seinen Mitbewerber AMD (ATi) überflügelt. Bereits mit der Standardeinstellung des Treibers erscheint die Filterung winkelunabhängig zu sein.
1. Einleitung und Eckdaten
2. Vom Unified Shader und DirectX 10
3. Grafikspeicher und ROPs, PCB und Kühler
4. nForce 680i SLI, 650i SLI und 650i Ultra
5. Fazit
Diesen Testbericht diskutieren...