Far Cry Version 1.2 mit SM 2.0b
Der Patch mit der Versionsnummer 1.2 zu Far Cry wurde vor einigen Tagen zurückgezogen. Dabei brachte gerade dieses Update dem Spiel nVidias Shader-Model 3.0, das der GeForce 6800-Serie zu neuen Höhenflügen verhalf. Doch dem ist nicht genug, denn auch für ATi-Karten gibt es mit dem Patch 1.2 einige Neuerungen zu vermelden.
Vor gut zwei Wochen erhielten wir von nVidia erstmals einen Patch mit der Versionsnummer 1.2, der allerdings eine niedrigere Build-Nummer trug als der, den Crytek veröffentlichte. Letztere kam nun mit der Nummer 1325 daher und bietet nicht nur die Unterstützung des Shader-Model 3.0 für nVidias GeForce 6800-Serie. Wie diese Grafikkarten davon profitieren können, fanden wir ja bereits in einem passenden Artikel heraus.
In den Tiefen der Build-Nummer 1325 schlummert hingegen noch ein anderes Feature, das vor allem ATi-Karten Beine macht. Die Rede ist von dem „Shader-Model 2.0b“, das die Entwickler im Beta-Status nun die Spiele genießen lassen. In der von nVidia bereitgestellten Version des Patches gab es dieses im übrigen noch nicht. Hier könnte also einer der Gründe liegen, weshalb Crytek den Patch nochmals verzögert hat, obwohl er eigentlich schon fertig war (und jetzt dennoch zurück genommen wurde). ATi lag offensichtlich einiges daran, noch SM 2.0b in das Update zu implementieren. Dass sie mit diesem Vorgehen durchaus Erfolg hatten, werden wir ein wenig später noch beweisen.
Shader-Model 2.0b:
Zunächst einmal wollen wir ein bisschen über das Shader-Model 2.0b sprechen. So erlaubt es dieses Shader-Modell der Hardware, die Berechnung von Lichteffekten weitaus effektiver zu gestalten, als es vorher möglich war. Brauchte man vormals eine Lichtquelle einen Pass zum Rendern, können nun pro Pass drei Lichtquellen gerendert werden. Dies sorgt besonders in Indoor-Maps mit großem Einsatz von Lichteffekten für eine erhebliche Verbesserung der erzielten Performance. Ein ähnliches Ergebnis besitzt das SM 3.0 übrigens auch. Hier wird durch das so genannte „Branching“ eine effizientere Nutzung der Shader ermöglicht. Der Clou an der Sache ist hingegen, dass jede DirectX-9-fähige Hardware von ATi das SM 2.0b unterstützt und somit vom neuen Patch profitieren kann. Das SM 2.0b kann ganz einfach über die Konsole mit dem Befehl r_sm2bpath 1 aktiviert werden.
Geometry Instancing:
Eine weitere neue Funktion, die Crytek durch den 1.2er-Patch für Besitzer von ATi-Karten freigeschaltet hat, ist das Geometry Instancing, welches im Falle von Far Cry gleich mehrere positive Nebeneffekte hat. Durch diese Funktion, die ebenfalls alle DirectX-9-fähigen ATi-Chips beherrschen, ist es den Entwicklern ermöglicht worden, die sonst als zweidimensionale Sprites dargestellte Vegetation in der Ferne durch wirkliche Objekte mit Geometrie-Daten auszutauschen. Dadurch sieht weit entfernte Vegetation nun weitaus besser aus, da diese nun auch animiert werden kann und nicht wie ein Sprite nur fix verankert ist. Auch Geometry Instancing ist eigentlich ein fester Teil des SM 3.0, wird aber trotzdem - wie bereits erwähnt - auch von ATi-Hardware beherrscht, die eigentlich nur maximal DirectX 9.0b unterstützt. Laut den Kollegen von DriverHeaven.net wird aber erst der Catalyst 4.8 eine aktive Unterstützung für Geometry Instancing bieten.
Das folgende Bild illustriert die Vorteile dieses Befehls, den man nach der Installation des Far Cry 1.2-Patches über die Konsole durch den Befehl r_GeomInstancing 1 aktivieren kann. Den Effekt richtig testen kann man, wenn man mit dem Befehl \e_vegetation_sprites_distance_ratio 100 die sichtbare Vegetation erhöht. Im normalen Fall würde dies natürlich einiges an Performance kosten, durch die Hardwareimplementierung dieser Funktion geht es allerdings fast ohne Performanceverlust vonstatten.
Nun, anschließend wollen wir nochmals einen Blick auf die möglichen Performance-Gewinne durch das SM 2.0b werfen. Die Werte der ATi Radeon X800 XT entstanden mit dem Catalyst 4.7 sowie einem AMD Athlon 64 FX-53 und einem Gigabyte Arbeitsspeicher auf einem Asus SK8V Mainboard. Wir aktivierten das SM 2.0b sowie Geometry Instancing, das leider aufgrund des verwendeten Catalyst 4.7 keine Wirkung zeigte, auf der ATi-Karte. Die nVidia GeForce 6800 Ultra wurde unter Verwendung des SM 3.0 getestet. Wir testeten exemplarisch zwei Auflösungen unter Verwendung von Anti-Aliasing und anisotroper Filterung, um einen kurzen Überblick zu erlangen.
Wie man unschwer erkennen kann, gewinnt die Radeon X800 XT durch das SM 2.0b vor allem im äußerst shader- und lichtintensiven Research-Level ordentlich an Performance. Die Grafikkarte von ATi kann sogar mehr Bilder pro Sekunde gewinnen als dies nVidia durch das SM 3.0 möglich war. Die beiden anderen Maps zeigen ob ihrer anderen Charakteristik weitaus kleinere Gewinne. Ähnlich lief es aber auch schon bei der GeForce 6800 Ultra, die in Außenarealen durch das SM 3.0 ebenfalls kaum an Performance zulegen konnte.
Auch in der nächst höheren Auflösung sehen wir ein ähnliches Bild. Hier kann die Radeon X800 XT durchweg an Geschwindigkeit zulegen. Besonders imposant ist der Zuwachs wieder im Research-Level.
Fazit:
Nicht nur nVidia-Karten konnten also durch den (zurzeit fiktiven) Patch zu Far Cry an Geschwindigkeit zulegen. Auch ATis Grafikkarten werden durch das SM 2.0b nochmals etwas beschleunigt und können der GeForce 6800 Ultra in Sachen Performancezuwachs durchaus Paroli bieten. Durch das Geometry Instancing wird das Grafikqualität des Spiels durchaus verbessert, so dass die mitunter hässlichen Sprites nun der Vergangenheit angehören. Mit dem Patch 1.3 möchte Crytek übrigens auch eine Unterstützung für ATis 3dc-Kompressionsverfahren implementieren, so dass nochmals mit einem Performancezuwachs auf X800-Karten zu rechnen ist. In gut einer Woche werden wir dieses Thema nochmals aufgreifen und einen ausführlicheren Artikel zu diesem Thema verfassen, der dann auch die ATi Radeon X800 Pro sowie nVidias GeForce 6800 GT und 6800 mit einbezieht.