Nvidia reagiert auf negative Berichte mit Informationsoffensive
Auf dem Nvidia's Editors Day in San Francisco gab der Chipentwickler rund 30 Journalisten Gelegenheit, die leitenden Spezialisten der Hard- und Software-Entwicklung zu treffen.
Nachdem die GeForce-FX-Chips in aktuellen und kommenden Spielen wie Half-Life 2 schlechte Leistungen zeigten und sich Berichte über die schwache Shader-Leistung der GeForce-FX-Chips mehrten, hat Nvidia die Flucht nach vorn angetreten. Auf dem Nvidia's Editors Day in San Francisco gab der Chipentwickler rund 30 ausgewählten Journalisten Gelegenheit, die leitenden Spezialisten der Hard- und Software-Entwicklung zu treffen. Während der eintägigen Veranstaltung erlebten die Journalisten eine für Nvidia ungewöhnliche Bereitschaft, Details der Hardware-Architektur und der Software-Technologie offenzulegen und ihre Design-Entscheidungen zu erläutern.
Für den unterhaltenden Teil sorgten Spielentwickler, die über ihre Zusammenarbeit mit Nvidia berichteten und Ausschnitte aus neuen Titel wie Unreal Tournament 2004, S.T.A.L.K.E.R. und Deus Ex: The Invisible War demonstrierten. Branchengrößen wie die Präsidenten von Nvidia und id Software Jen-Hsun Huang und Todd Hollenshead schwärmten von Doom als Urvater aller 3D-Games und prophezeiten 3D-Chips in 0,03-nm-Technologie mit 1000 Millionen Transistoren und mehreren Gigabyte lokalem Speicher spätestens in 2010. Information am Rande: Es soll keinen Vorab-Doom3-Benchmark geben, da es für jeden Chiptyp einen eigenen Renderpfad gibt und die Engine die Bildrate ohnehin auf 60 fps begrenzt.
Nach den offen gelegten Details ist die Peak-Performance der Pixel-Shader in den neueren FX- und Radeon-Chips vergleichbar. Davon ausgenommen sind die älteren GeForce-FX-Chips 5800, 5600 und 5200. Der GeForceFX 5900 und der neue GeForceFX 5950 verfügen über vier Pipelines aus mehreren hintereinandergeschalteten Recheneinheiten und daher über eine ähnliche Gesamtleistung wie die acht kürzeren Pipelines der ATI-Chips Radeon 9700 und 9800. Entsprechendes gilt für den neuen Zwei-Pipeline-Chip GeForceFX 5700 und Radeon 9600 mit vier Pipelines.
Man räumt aber ein, dass die Architektur der neueren FX-Chips erheblich schwieriger zu programmieren sei. Um alle Recheneinheiten ständig auszulasten, müssen die Shaderprogramme in einem bestimmten Rhythmus abwechselnd Texturzugriffe und Rechenkommandos enthalten. Sobald der Rhythmus verlassen wird, kommt die Pipeline aus dem Tritt und der Shader-Durchsatz bricht auf die Hälfte oder noch weniger ein. Dazu trägt auch bei, dass die FX-Chips über weniger temporäre Register verfügen und man ständig zwischen Operationen mit 16 und 32-Bit-Genauigkeit entscheiden müsse (mixed mode). Die Restriktionen behindern natürlich die Shader-Programmierer erheblich und kosten Entwicklungszeit. Die Optimierungs-Regeln für die Radeon-Chips sind weniger einschränkend, sodass ein beliebiger Shader auf einer Radeon-Karte meist schneller arbeitet als auf einer GeForce-FX-Karte. Gearbox, die die PC-Portierung des X-Box-Spiels Halo durchführten, waren Nvidia daher sehr verbunden, weil Nvidia-Entwickler sämtliche DirectX-9-Shader für den FX-Pfad geschrieben haben.
Im neuen 52.16-Treiber hat Nvidia daher einen optimierenden Compiler implementiert, der in der Lage sein soll, Shader so umzubauen, dass sie die optimale Befehlsreihenfolge einhalten und möglichst wenig Temp-Register belegen. Er erzeugt verschiedene Shader-Varianten, schätzt deren Laufzeit und speichert die schnellere Variante in einem Shader-Cache. Es handelt sich zudem um einen "unified Compiler", der in gleicher Form im Direct3D- und im OpenGL-Treiber enthalten ist. Wie leistungsfähig der Compiler tatsächlich ist, müssen Tests mit dem Treiber 52.16 zeigen. Nicht auszuschließen ist, dass auch mit dem Compiler noch ein gewisser Anteil an manueller Optimierung erforderlich ist. Es ist daher denkbar, dass ein neues Spiel auf den FX-Chips nicht auf Anhieb optimal läuft, sondern erst nach der Release eines neuen Treibers.
Nvidia behält sich daher weiter vor, applikationsabhängige Optimierungen in die Treiber einzubauen, und hat dafür einige Richtlinien aufgestellt. Nach diesen Regeln sind Optimierungen solange erlaubt, wie sie das "korrekte" Bild erzeugen. Korrekt bedeutet dabei, dass das Bild und die damit erzielten Bildraten "das beste Spielerlebnis" vermitteln sollen, wobei Abstriche bei der Bildqualität nicht ausgeschlossen sind. Diesen müsse der Spieleentwickler aber zustimmen. Ferner müssen Optimierungen so allgemeingültig sein, dass sie nicht nur einen Benchmark beschleunigen und dürfen nicht mit vorberechneten, statischen Geometrien oder Texturen arbeiten. (Manfred Bertuch) / (anw)