Vorschau auf nVidias GeForce FX5950 Ultra: Höhere Taktraten und sonst?

 4/12
Carsten Spille
62 Kommentare

Bildqualität

Die Bildqualität und deren schrittweises Zurückschrauben, um in teilweise aberwitzigen Settings, in denen unter anderem auch wir als Hardware-Publikation testen, noch höhere Frameraten als die Konkurrenz zu erzielen, war und ist ein sehr kontroverses Thema der letzten Wochen und Monate.

Während vor ein bis zwei Jahren gelegentlich der Verdacht geäußert wurde, Firma X oder Hersteller Y habe in Test Z etwas gemogelt, wurden derlei Geschichten spätestens seit dem diesjährigen Erscheinen des 3DMark03 und den endlosen Querelen um dessen Gültigkeit zum Dauerbrenner.

Fakt ist, dass nachdem sich ATi und nVidia zu Zeiten der DirectX8-Generation noch weitestgehend einig darin waren, was man wie programmieren sollte, um möglichst hohe Leistung zu erzielen, hat sich dieses nun komplett gewandelt.

Unter DirectX9 und den entsprechenden Chips ist die Situation mit angepassten Renderpfaden mittlerweile derart aus dem Ruder gelaufen, dass man sich zu den besten SysMark-Streitigkeiten zwischen AMD und Intel zurückversetzt fühlt.

Da der DirectX9-Renderpfad, so wie er bei Erscheinen der Multimedia-Schnittstelle war, sehr gut mit den wenigen Einschränkungen, die man für die ATi-Chips beachten muss, zurechtkam und im Gegensatz dazu auf die als Mimose bekannten Shader der FX-Serie keine besondere Rücksicht nahm, sah man sich sogar bei Microsoft gezwungen, einen zweiten Renderpfad einzubauen, mit dem Spieleentwickler ihre Shader für bessere Leistung auf der GeForce FX kompilieren sollten. In dem sogenannten 2.a-Pfad ist neben der Unterstützung für die variable Genauigkeit der FX-Serie, bei der der Entwickler bestimmt, welche Präzision er für welchen Effekt sehen möchte, auch die Unterstützung für die erweiterten Fähigkeiten der FX enthalten.

Der neue offizielle Detonator 52.16 enthält nun erstmals selbst einen Compiler, der unpassende Shader zur Laufzeit so umstricken kann, dass die FX-Reihe weniger Probleme damit hat. Inwieweit er dabei auf das fragwürdige Zurückschrauben der Rendergenauigkeit auf FP16 oder gar FX12 zurückgreift, müssen erst gründlichere Tests zeigen.

Nach dieser eigentlich als kurz geplanten Vorrede wollen wir nun zu der tatsächlich sicht- und meßbaren Optimierung der Bildqualität kommen, die im Vorfeld von vielen schon als 'Cheat' gebrandmarkt wurde.

So haben sich in der Tat einige ältere, insbesondere Beta-Versionen der Treiber-Releases, die z.T. auf abenteuerlichem Wege ins WorldWideWeb gelangt sein dürften, nicht besonders rühmlich hervorgetan, was die Bildqualität angeht. Erstmals beobachtet wurde eine derartige Optimierung von den Kollegen des 3D-Center, die in diesem Artikel zumindest eine fragwürdige Optimierung des trilinearen Filters ausschließlich im Spiel Unreal Tournament 2003 konstatierten, die das sogenannte TriBand, also der Bereich in dem Informationen aus zwei verschiedenen Mip-Levels in das gerenderte Bild einfliessen, deutlich verschmälert hat, so daß der Sinn und Zweck trilinearer Texturfilterung, das Verhindern harter Übergänge von einem Mip-Level in den nächsten, in einigen Situationen beinahe ausgehebelt wurde.

Später kamen die ersten Versionen der 50er-Detonator-Serie an die Öffentlichkeit, die schon Bestandteil der viel diskutierten und von nVidia-Karten-Besitzern heiß ersehnten neuen Treibergeneration waren.

Die Version 51.75 tat sich dabei noch am wenigsten rühmlich hervor, denn hier wurde die UT2003-Optimierung Mandat und ließ sich unter Direct3D nicht mehr umgehen. OpenGL blieb von den Optimierungen, wohl auch dank klarer formulierter Richtlinien, bislang verschont.

Die Detonatoren der Serie 52.xx sollten eine weitere Evolution der IntelliSample-Technologie enthalten, mit der Texturen je nach Bedarf unterschiedlich stark anisotrop gefiltert würden, jedoch schien dies bei den bisher geleakten Versionen nicht der Fall zu sein, denn die gängigen Testapplikationen, die nun auch durch die verschiedenen Textur-Stages schalten können, zeigten weiterhin unter OpenGL einwandfreie Qualität, unter Direct3D jedoch die Optimierung des TriBands und, wenn man AF über den Treiber erzwingt, auch noch eine Beschränkung der Textur-Stages 1-7 (also im Allgemeinen alle Texturschichten ausser der Basis-Textur) auf maximal 2xAF, egal was man auswählte.

So wie es momentan scheint(!), war die IntelliSample-Texturoptimierung hier aber ein wenig schlauer, als die Testapplikationen, so dass bei den dort verwendeten Texturen zwar wirklich das TriBand stark optimiert wurde, aber angesichts des Ausgangsmaterials ist das in dem Falle wohl zu verschmerzen. Zwei Vergleichs-Screenshots mit UT2003 zeigten aber ein durchaus akzeptables TriBand, wie unten zu sehen ist.

UT2003 Det44.65.PNG
UT2003 Det44.65.PNG
UT2003 Det52.16 8xAPP-AF.PNG
UT2003 Det52.16 8xAPP-AF.PNG
UT2003 Det52.16 8xCP-AF.PNG
UT2003 Det52.16 8xCP-AF.PNG
UT2003 ATi 8xAPP-AF
UT2003 ATi 8xAPP-AF

Die Screenshots stammen aus der UT2003-Cheat-Demo vom 3DCenter und sind in 1024x768x32, 4xFSAA, 8xAF und mit höchsten Details angefertigt worden. Zumindest auf Texture-Stage 0, dort wo im Regelfall die Basistextur liegt, ist von der Beschneidung des TriBandes nicht mehr so viel zu sehen, auch im Vergleich zum Screenshot mit der Radeon 9700 Pro und Catalyst 3.8 ganz rechts. Wenn nun diese 'Optimierung' gänzlich aus der Voreinstellung verschwindet und man sie als Option vorgesetzt bekommt, kann eigentlich auch der hartgesottenste Bildqualitäts-Fetischist sich erst einmal nicht mehr beklagen.

FSAA und AF

In Sachen FSAA hat sich im Vergleich zu älteren Karten seit der GeForce3 nichts geändert. Deswegen die mittlerweile etwas dürftigen FSAA-Optionen, die nVidia bietet, hier im Kurzüberblick:

Ausser, dass Quincunx aufgrund des Unschärfefilters wohl nach wie vor nur für Special Interests sinnvoll sein dürfte, hat sich in der 2xFSAA-Reihe rein gar nichts geändert.

4-Sample AA
4-Sample AA

Hier ein dummer faux-pas des 52.16er Detonators: Der aufgrund seines Supersampling Anteils für ältere oder CPU-limitierte Games durchaus nützliche 4xS-Modus ist leider mit diesem Treiber nicht mehr vorhanden. Allerdings sollten externe Tweaker wie der RivaTuner oder der aTuner dieses Problem relativ einfach umgehen können. Am 4-Sample Modus an sich hat sich leider nichts geändert, er arbeitet nach wie vor mit dem schon seit seiner Einführung als Supersampling-Modus in der GeForce2, überholten Ordered-Grid Verfahren und bietet so nur wenig mehr Qualität als der 2xFSAA-Modus. Dank der enormen Bandbreite der GeForce FX5950 Ultra kostet er allerdings auch nur wenig mehr an Leistung...

Hier nun die absoluten Verschwender-Modi, da sie beide durch ihren hohen Supersampling-Anteil extrem viel Füllrate verbrauchen. Zudem ist der 6xS-Modus in der Form nur unter Direct3D verfügbar.

Alles in allem läßt sich also zusammenfassen, dass nVidia seit nunmehr beinahe 30 Monaten ausser der reinen Geschwindigkeit keinen Fortschritt in der Anti-Aliasing Technologie erzielen konnte. Hoffentlich ändert sich dies mit der nV4x-Serie, denn so kann man Fans glatter Kanten eigentlich nur die Produkte vom Konkurrent ATi empfehlen.

Kommen wir nun zum anisotropen Filter, kurz AF genannt.

Hierum drehten sich, wie im Abschnitt Bildqualität angesprochen, die meisten der Querelen vergangener Tage und Wochen. Mit dem 52.16er Detonator hat nVidia, ähnlich wie Konkurrenz ATi seit dem Catalyst v3.2 ein etwas differenzierteres Verhalten für die AF-Einstellungen festgelegt.

Unter OpenGL ist alles in Butter, welchen AF-Level eine Applikation anfordert, sie bekommt ihn, egal ob man das AF vorher schon im Treiber auf eine bestimmte (Mindest-) Stufe festgelegt hat oder nicht, auf jeder Textur-Stage, von denen der OpenGL-1.4 ICD weiterhin nur vier unterstützt.

AF 0x TS0-3 oGL App
AF 0x TS0-3 oGL App
AF 2x TS0-3 oGL App
AF 2x TS0-3 oGL App
AF 4x TS0-3 oGL App
AF 4x TS0-3 oGL App
AF 8x TS0-3 oGL App
AF 8x TS0-3 oGL App

Etwas komplizierter und auch kritikwürdiger wird es unter Direct3D. Hatte man es bisher mit diversen möglichen und unmöglichen Optimierungen zu tun, die sich von Beta zu Beta auch noch änderten, gibt es nun ein Schema: Getrennt nach Auswahl des AF-Levels entweder über das im Treiber integrierte Panel oder über die Anforderung der Anwendung.

Demnach bekommt eine Anwendung, wenn sie selber AF anfordert, auf jeder Textur-Stage von 0-7 den AF-Level, den sie möchte, bis hinauf zu achtfachem AF. Auf den folgenden Bildern sieht man deutlich, daß der Treiber in diesem Falle das TriBand stark einschränkt und so Rechenzeit sparen will.

AF 0x TS0 D3D
AF 0x TS0 D3D
AF 2x TS0 D3D App
AF 2x TS0 D3D App
AF 4x TS0 D3D App
AF 4x TS0 D3D App
AF 8x TS0 D3D App
AF 8x TS0 D3D App

Wenn man jedoch das AF per Treiber erzwingt, was leider in einer großen Zahl der Spiele nötig ist, da es keine in-Game Einstellung gibt, die DirectX aber eigentlich fordert, kann der Treiber quasi tun und lassen, was er will. Bei ATi hatte man sich für das Beschränken der Texturstages 1-7 auf bilineares AF entschieden, wodurch in manchen Games z.B. Detailtexturen Mip-Banding aufweisen konnten. nVidia ging einen anderen Weg mit dem 52.16er Detonator und behielt die Filterqualität an sich bei, beschränkte jedoch den maximalen AF-Level für die Texturstages 1-7 auf zweifaches AF.

AF 0x TS0 D3D
AF 0x TS0 D3D
AF 2x TS0 D3D CP
AF 2x TS0 D3D CP
AF 4x TS0 D3D CP
AF 4x TS0 D3D CP
AF 8x TS0 D3D CP
AF 8x TS0 D3D CP

Auf den linken Seiten ist die Texturstage 0 dargestellt, die den eingestellten AF-Level erhält, rechts sind die Texturstages 1-7 (die alle gleich aussehen, deswegen hier zusammengefasst), die unabhängig von der Voreinstellung auf maximal zweifaches AF begrenzt sind.

An dieser Stelle nochmals ein deutlich Aufruf an die Adressen von beiden, ATi und nVidia!

Das Senken der Bildqualität, nur um in Benchmarks ein kleines bisschen besser dazustehen, ist der falsche Weg!

Als Option würden diese Optimierungen sicherlich von den meisten Kunden begrüßt werden, aber als Zwang voreingestellt und nicht oder kaum umgehbar, sieht man sich als Kunde nur zu gern nach Alternativen um, die man sonst vielleicht nicht in Betracht gezogen hätte! (XGI Volari, PowerVR Series5, S3 Delta-Chrome).

[p]Kehrt zur ursprünglichen, hohen Filterqualität zurück und überlasst es dem User, sich optional für niedrigere Bildqualität bei besserer Performance zu entscheiden!
[/p]