Einleitung
Um kurz noch einmal zusammen zu fassen, was wir in den News [1] berichtet haben, sei hier noch ein einleitender und manchen sicherlich bekannt vorkommender Absatz gestattet.
Es ging vornehmlich darum, die unerklärlich hohen Füllraten, sowohl der Radeon 9600 XT (im folgenden nur noch mit der Chip-Bezeichnung RV360 genannt) und der Radeon X800 Pro, die wir nicht mit ihrer Chipbezeichnung abkürzen wollen, da nicht geklärt ist, wie genau sich die Radeon X800 XT, die im Gegensatz zur Pro über vier integrierte Pixelprozessoren verfügt, verhält. Diese lagen in einigen Füllratentests über dem theoretischen Maximum dessen, was rechnerisch und mit nie erreichbaren 100% Effizienz möglich gewesen wäre.

Letzte Woche dankten wir den Kollegen von der PCGH [2] noch für das Beisteuern einiger Radeon X800 Pro Benchmarks, ohne die diese Geschichte sicherlich nicht so interessant ausgefallen wäre, konnte die neue R420-Serie sich in ersten Tests doch ausnehmend gut gegen die ebenfalls neue GeForce 6800 Ultra behaupten - sogar die rechnerisch deutlich unterlegene X800 Pro konnte einige Siege einfahren.
Über die letzte Woche haben wir in enger Zusammenarbeit mit R. Kornmann, Co-Autor des PCGH-Artikels über die NV40-Technik und Autor des 3D-Center Artikel über die CineFX-Architektur, dem wir an dieser Stelle danken wollen, versucht, systematisch alle weiteren Einflüsse auszuschliessen.
Ausschlussverfahren
ATi stellt in einigen Pressepräsentationen und mehr oder minder offiziellen Communiqués heraus, warum, von seiner größeren Anzahl an quad-basierten Pixelprozessoren mal abgesehen, der R420 der bisherigen Generation überlegen ist.
- größere Texturcaches für verbessertes anistropes Filtern
- programmierbarer Cross-Bar Speichercontroller
- HierarchichalZ, Bestandteil von HyperZ HD, funktionert jetzt auch pro Pixelprozessor
Die „Enhanced Cache Sizes“ könnten sich natürlich auf die GPU als ganzes beziehen und somit sogar zutreffen - einen Effekt auf die Effizienz hat sie definitiv nicht. Auch der verbesserte, programmierbare Speichercontroller konnte bislang in der X800 Pro/Catalyst 4.5 Konstellation noch nicht überzeugen. Bewaffnet mit Marko Dolencs Füllraten Tester [3] haben wir nachgeprüft, wieviel Vorteil der R420 mit 12 Pipelines aus diesen Verbesserungen ziehen kann. Ergebnis: Nahe Null.
Auch das Entfernen verdeckter Flächen, welches im R420 verbessert worden ist und sich nun HyperZ HD nennt, haben wir als Faktor nachgeprüft. Hierbei soll ja die verbesserte Buffer-Size nun auch den dreistufigen Z-Buffer bis in Auflösungen von 1920x1080, dem größeren der beiden populären HD(-TV) Formate, ermöglichen. Bei den älteren Chips der R3xx-Reihe ist hier bei 1280x1024 der normalen Auflösungen Schluss, die Chips der RV-Reihe bieten, wie auch die teildeaktivierten Radeon 9500 und Radeon 9800 SE, gar keinen hierarchischen Z-Buffer.
| 1280x1024 | 1600x1200 | |
|---|---|---|
| X800 Pro | ~54 | ~55 |
| R9800 XT | ~54 | ~11 |
Hier sieht man, gemessen in verworfenen Pixeln pro Takt und Viererblock von Pixelpipelines (ein Pixelprozessor), dass in 1600x1200 die Radeon 9800XT auf die erste und effektivste Stufe des hierarchischen Z-Buffers in hohen Auflösungen verzichten muss.
Real World Messungen
Wir haben uns hier der Übersichtlichkeit halber auf das vielgenutzte Spiel „Unreal Tournament 2003“ konzentriert unter anderem auch, weil es hier gut möglich war, Screenshots in identischer Position aufzunehmen, was wir mit der sogenannten „cheat-Demo“ aus dem Archiv des 3D-Center taten, mit der seinerzeit der reduziert-trilineare Filter bei neueren Treibern für die GeForce-FX durch die Verwendung eingefärbter MipMap-Level [4] nachgewiesen wurde.
R360 vs. R420 Pro
Angaben in Bildern pro Sekunde (FPS)
|
Hier sehen wir die Ergebnisse der Radeon 9800XT im Pyramid-Demo von Unreal-Tournament 2003. Die Werte wurden allesamt mit Hilfe unserer bewährten Benchmark-Methoden ermittelt, die hier [5] eingesehen werden können. Treiber war der kürzlich veröffentlichte Catalyst 4.5.
Die Ergebnisse überraschen wenig, kann doch die X800 Pro in nahezu allen Bereichen eine deutliche Leistungssteigerung gegenüber ihrem Vorgänger in die Waagschale werfen.
R360 vs. R420 "speciale"
Angaben in Punkten
|
Hier haben wir uns des ATiTools [6] von „w1zzard“ bedient, um, umgerechnet auf die höhere Pipeline-Anzahl, die X800 Pro auf dieselbe Füllrate und Speicherbandbreite der Radeon 9800 XT zu takten. Erreicht wurde dies mit 274,5 MHz GPU-Takt und 364,5 MHz RAM-Takt, woraus sich eine Annäherung auf 99,9% der echten R9800XT-Füllrate und Bandbreite ergibt.
Hier wurden also anscheinend grüne Äpfel mit roten Äpfeln verglichen - umso erstaunlicher, da wir uns natürlich identischer Settings bedienten.
Wie in den News vom 7. Mai erwähnt [7], fielen auf einer Radeon 9600 XT die erreichten FPS-Werte teilweise recht deutlich, wenn man das Konsolenkommando „r_colormiplevels 1“ eingab - damals noch nachgewiesen im Brecourt-Demo von Call of Duty.
Unreal Tournament bietet mit dem „firstcoloredmip 1“- Kommando ein ähnliches Verfahren - anhand dessen beispielsweise die reduziert-trilineare Filterung in vielen Treiber der GeForce-FX Reihe nachgewiesen wurde.
R360 vs. R420 "speciale" firstcoloredmip 1
Angaben in Bildern pro Sekunde (FPS)
|
Reduziert auf dieselbe Rohleistung wie die Radeon 9800 XT, reduziert sich beim Einsatz von Colored-Mipmaps auf wundersame Weise auch die Leistung auf ziemlich genau den Wert, den der Vorgänger-Chip erreicht, wobei letzter außerhalb von Messtoleranzen hier nicht einbricht.
Eigentlich ist aber genau dieses Ergebnis zu erwarten gewesen, denn die Architektur des R420 wurde gegenüber dem Vorgänger augenscheinlich kaum verändert.
Diese Ergebnisse haben sich in einer großen Zahl von anderen Spielen widergespiegelt. Ob diese nun, wie Spiele, die auf der Quake3-Engine aufbauen und per Konsolenkommando das Einfärben zulassen, oder ob extern per 3D-Analyzer [8] hierfür nachgeholfen wurde - das Ergebnis bleibt dasselbe.
Auch Messungen ohne FSAA und AF waren hiervon möglicherweise nicht unberührt, fielen jedoch nicht so stark auf, da die wenigsten Spiele so dicht am Füllratenlimit operieren, wie zum Beispiel der VillageMark [9].
Andere betroffene Applikationen waren: Spellforce, AquaMark v2.3, Delta Force Black Hawk Down und Call of Duty. Damit dürfte gesichert sein, daß dieses Verhalten nicht applikationsspezifisch beschränkt ist - ATi hat sich bisher auch rigide gegen eine „applikationsspezifische Optimierung“ gewandt.
Differenzbilder
Auf diese Weise alarmiert, versuchten wir herauszubekommen, wie die R420 hier solcherlei Performance-Vorteile erreichen konnte - offenbarten bislang doch die optischen Vergleiche eingefärbter Mip-Level ordentliche trilineare Filterung. Um ehrlich zu sein, setzte erst an diesem Punkt unsere Suche nach alternativen Erklärungsmöglichkeiten an, das Ergebnis haben wir jedoch zwei Seiten zuvor bereits vorweggenommen.
(Bei den Bildern handelt es sich um verlustfrei komprimierte PNG-Dateien,
die mit jeweils knapp 1,3 MB zu Buche schlagen)
Bei diesen Shots, links die R9800 XT, rechts die X800 Pro, handelt es sich um Original-Screenshots aus der Cheat-Demo für UT2003 in 1024x768x32 mit jeweils 4xAA und über das rTool erzwungenem, bisher als „Full-Tri“ angesehenem, anisotropen Filter. Diese Bilder wiesen an einigen Stellen (bsw. Marmorkacheln im Vordergrund und die Felsunterseite im Hintergrund) leichte Unterschiede auf.
Mittels einer Differenzmethode, bei der wir bit-genau mit einem selbstgeschriebenen Tool von Ralf Kornmann die Farbwerte überprüften, haben wir nun bei den jeweiligen Chips die Pixel schwarz einfärben lassen, die auf beiden Bildern gleich sind.
Bei einem echten trilinearen Filter darf der identische Bildbereich nur sehr klein sein (immer dort wo aufgrund des LOD die zweite Mipmap mit 0% eingeht), wie man in den bekannten AF-Testern an den schmalen, vollfarbigen Streifen bei trilinearer Filterung sieht. So zeigt auch die Radeon 9800 XT hier einwandfreie Filterung im Rahmen ihrer technischen Möglichkeiten.
Da wir aufgrund der messbaren und sichtbaren Veränderung der AF-Füllrate beim Erzwingen von „Full-Tri“ AF über das rTool davon ausgehen mussten, dass es sich hier nicht mehr um eine Texturstage-Optimierung handelt, die nur auf der ersten Texturschicht trilineares AF appliziert und auf allen weiteren sieben auf bilineares AF zurückfällt, haben wir nach Anzeichen einer Reduzierung des trilinearen Anteils an der Texturfilterung gesucht. Ein sogenannter „brilinearer Filter“ zeichnet sich dadurch aus, dass dort, wo das Bri-Band wirkt, das Bild genau identisch mit dem reinen bilinear-gefilterten Bild sein muss. Bei einem reduziert-trilinearen Filter nimmt der identische Bereich auf den Differenzbildern im Vergleich zu echter trilinearer Filterung aber mit der Stärke der Optimierung zu.
Rein der Vollständigkeit halber haben wir hier noch einmal den Vergleich zur Radeon 9600 XT gezogen, die ebenfalls über eine trilineare Optimierung verfügt. Diese scheint aufgrund des breiteren identischen Bandes sogar noch stärker zu sein, als die der Radeon X800 Pro.
Das Ergebnis scheint eindeutig: Sobald man sowohl der Radeon X800 als auch der Radeon 9600 XT nicht genau auf die Finger schaut, sprich, mit Hilfe eingefärbter Mip-Level die angewandte Filterung überprüft, wirkt eine Optimierung der trilinearen Filterung, die besonders in Kombination mit der Textur-Stage-Optimierung des AF enorm an Füllrate spart.
Konsequenzen
War der Aufschrei bei nVidias reduziert-trilinearer Filterung im letzten Jahr schon groß, weil ungefragt der Anteil an echter trilinearer Filterung zurückgeschraubt worden ist, so scheint hier ein neues Niveau erreicht worden zu sein.
Eine Erkennung eingefärbter Mip-Level (auf nichts anderes lassen unsere Tests zurückschliessen) und das Ausschalten der Optimierung bei einer optischen Überprüfung mit gefärbten Mips sind ein eindeutiger Täuschungsversuch - in der Schule hieß es beim Erwischtwerden sofort:

Sechs, setzen!
Besonders negativ wirkt sich der Zeitpunkt dieser Angelegenheit aus. Denn hatte nVidia zum Launch der GeForce 6800 noch einen Review-Treiber angeboten, der es erlaubt, die trilineare Optimierung komplett abzuschalten (soweit wir bislang informiert sind - leider steht uns momentan kein NV40 zur Verfügung!).
Im Bewusstsein, High-End Karten nur mit maximaler Qualität zu testen, nutzten viele Reviews auch diesen Schalter (ebenso unser in Kürze erscheinender Artikel), um wirklich maximale Qualität zu erhalten. Auf der anderen Seite wurde die bekannte Optimierung bei ATi mit Hilfe bekannter Mittel (rTool) versucht zu umgehen und im Bewusstsein des bisherigen Funktionierens dieser Maßnahme, die Ergebnisse als „vergleichbar“ dargestellt.
Leider scheinen aufgrund dieser Erkenntnisse ein Großteil der bisher im Internet veröffentlichten Benchmarks nicht vergleichbar und damit quasi nutzlos zu sein.
Auch die Einschätzung der neuen X800-Reihe (wir wagen den Schluss, dass dieses Phänomen nicht nur auf die X800 Pro zutrifft) und der Radeon 9600-Serie, muss wohl zunächst auf Eis gelegt werden, bis wirklich vergleichbare Benchmarks gemacht werden können.
Einen Dank an dieser Stelle noch einmal für tatkräftige Hilfe, Denkanstöße und unterbewußte Hinweise an: Ralf Kornmann, die PCGH, die User „ow“ und „Stefan Payne“aus dem 3D-Center Forum und Sapphire für die X800 Pro.
Update vom 18.05.2004:
ATi hat zu dieser Angelegenheit eine offizielle Stellungnahme [10] abgegeben, die unserem Artikel selbstverständlich widerspricht. Wenn diese Stellungnahme 100% korrekt und nicht interpretierbar ist, können wir unseren Vorwurf eines echten „Täuschungsversuches“ natürlich nicht aufrechterhalten - andererseits war auch nicht zu erwarten, daß ein klares Schuldeingeständnis folgen würde.
Zweites Update vom 18.05.2004:
Bitte auch das Update der oben verlinkten News beachten.



