Shader Model 3.0 im Test: Das kann die GeForce 6800 in Far Cry 1.2
2/5Was ist Shader 3.0?
Doch was ist das Shader-Model 3.0 überhaupt? Im Folgenden wollen wir nun einmal zumindest ansatzweise in die Materie eintauchen und einen kleinen Überblick über diese neue, eher evolutionäre Technologie liefern. So muss man von vorne herein sagen, dass das SM 3.0 gegenüber seinem Vorgänger keinerlei Verbesserungen in der Renderqualität mit sich bringt. Die Pixel- und Vertex-Shader 3.0 ermöglichen es also fast ausschließlich Shader-Code schneller auszuführen. Dies wird durch das so genannte „Branching“ erreicht, welches eine Art Loop-Funktion innehat, die es z.B. Softwareentwicklern ermöglicht, ein und den selben Shader ohne großen Aufwand mehrmals hintereinander auszuführen. Im SM 2.0 musste dazu noch umständlich derselbe Code mehrfach integriert und ausgeführt werden. Dank des Shader-Model 3.0 geht dies nun weitaus schneller vonstatten, so dass sich durchaus einige Performancevorteile ergeben können. Anbei noch ein Bild der Vertex Shader 3.0-Architektur des NV40, welches gut die Branching-Einheit zeigt.
Wer nun mehr über das Shader-Model 3.0 erfahren möchte, dem sei unser Launchartikel zur GeForce 6800 Ultra ans Herz gelegt. Zudem haben die Kollegen des 3DCenters einen sehr technischen Artikel zum Thema Was bringt ein Pixel-Shader 3.0-Chip heute? verfasst. Dieser strotzt nur so vor nützlichen Informationen bezüglich nVidias neuestem Streich, so dass jeder, der etwas Ahnung von der Materie hat, sich diesen zu Gemüte führen sollte. Zusätzlich wollen wir aber nochmals mit Hilfe einer kleinen Tabelle auf die Unterschiede in den Shader-Einheiten des NV40 gegenüber seinen Vorgängern eingehen.
NV30 | NV35/8 | NV40 | |
---|---|---|---|
Pixel Shader 2.0 vs. 3.0 | |||
Anzahl FP-Einheiten | 4 | 8 | 32 |
Max. Instruction Slots | 512 | 512 | >511 |
Max. Instructions | 512 | 512 | 65535 |
Interpolated Reg. | 2+8 | 2+8 | 10 |
Temporary Registers | 22 | 22 | 32 |
Constant Registers | 32 | 32 | 224 |
Dynamic Flow Control | Nein | Nein | Ja |
Vertex Shader 2.0 vs. 3.0 | |||
Anzahl Vertexeinheiten | 3 (Array) | 6 (2*Array) | |
Durchsatz pro Takt | 0,75 | 1,5 | |
Max. Instructions | 65535 | 65535 | |
Max. Static Instructions | 256 | >511 | |
Max Const. Instructions | 256 | >511 | |
Temporary Registers | 16 | 32 | |
Static Flow Control | Ja | Ja | |
Dynamic Flow Control | Ja | Ja | |
Geometry Instancing | Nein | Ja | |
Vertex Texture Fetch | Nein | Ja |
Testsystem
Um das SM nach Version 3.0 nutzen zu können, braucht man natürlich Microsofts DirectX 9.0c, denn in der frei erhältlichen Version 9.0b ist bis jetzt nur das Shader-Model nach der Version 2.0 verankert. Zusätzlich nutzen wir einen speziellen, von nVidia bereitgestellten ForeWare-Treiber der Version 61.45, da frühere Treiber nicht die Option auf die Verwendung von SM 3.0 bieten. Selbst wenn der Patch für Far Cry also durch irgendein Loch an die Öffentlichkeit gelangen würde, müsste man erst an den speziellen nVidia-Treiber herankommen, um auch wirklich von dem neuen Feature profitieren zu können. Die Suche nach DirectX 9.0c dürfte sich allerdings wiederum nicht sonderlich schwer gestalten.
- Prozessor
- Motherboard (Timings per SPD)
- Asus SK8V (Sockel 940, VIA K8T800)
- Arbeitsspeicher
- Grafikkarten
- nVidia GeForce 6800 Ultra
- nVidia GeForce 6800 GT
- Peripherie
- Traxdata RW2500
- Pioneer DVD-Laufwerk (Slot-in)
- Samsung 120 GB S-ATA HDD (8 MB Cache)
- Treiberversionen
- nVidia ForceWare 61.45 (SM 3.0 aktiv)
- VIA Hyperion 4.51 Pro
- Software
- Microsoft Windows XP Professional SP1
- Microsoft Windows Media Player 9
- Microsoft Windows Movie Maker 2.0
- Microsoft DirectX 9.0c