Shader Model 3.0 im Test: Das kann die GeForce 6800 in Far Cry 1.2

 2/5
Christoph Becker
38 Kommentare

Was 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.

Vertex Shader 3.0 des NV40
Vertex Shader 3.0 des NV40

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.

Pixel & Vertex Shader 3.0
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