TurboCache und HyperMemory im Test: Sinnvoll oder TurboHype?

 7/23
Carsten Spille
0 Kommentare

Füllraten

Shaderfüllrate

Das nützliche kleine Programm „Fillrate Tester“ von Marko Dolenc dient dazu, die Füllraten einer Grafikkarte zu messen. Im Gegensatz zu den bzw. im 3DMark integrierten Füllraten-Tests, die im Fall von Single-Texturing vornehmlich die Bandbreite messen, kann dieses Programm recht differenzierten Aufschluss über verschiedene Arten von Füllrate geben, unter anderem auch die Pixelshader-Füllraten, welche wir hier betrachten wollen. Getestet wurde in 1600x1200 in 32Bit mit 24Bit Z- und 8Bit Stencilbuffer und 60 Hz Refreshrate jeweils ohne jedes FSAA, mit 2-Sample AA und 4-Sample-AA.

Leider verweigerten sich beide GMA-Beschleuniger von Intel diesem Benchmark.

MDolencs Fillrate Tester D3D Simple Shader
0140280420560700Bilder pro Sekunde (FPS) 6200 TC def.6200 TC 2xAA6200 TC 4xAAX300 325/292 def.X300 325/292 2xAAX300 325/292 4xAAX300 325/200 def.X300 325/200 2xAAX300 325/200 4xAAX300 325/300 def.X300 325/300 2xAAX300 325/300 4xAA

Bereits im ersten Abschnitt, den einfacheren Shadern der Version 1.1 bis 1.4, sowie den grundlegenden 2.0-Shadern, die bereits Fließpunktgenauigkeit erfordern, wird einiges deutlich. Die Turbo-Cache-Karte von nVidia bricht mit aktivem FSAA sehr stark ein, was den Schluß nahelegt, dass man hier nicht nur an den Kompressionsfeatures gespart hat, die MSAA unter anderem so interessant machen, sondern eventuell auch an der Fähigkeit der ROPs (Raster Operators), mehr als ein AA-Sample zugleich zu bearbeiten. Die Radeon-Karten zeigen einen erwartungsgemäß geringen Einbruch bei 2x FSAA und, in Abhängigkeit zur verfügbaren Bandbreite, einen etwas stärkeren, sobald 4-Sample AA aktiv ist. Hier ist also alles im grünen Bereich bei „den Roten“, während „die Grünen“ eher im roten Bereich versacken.

MDolencs Fillrate Tester D3D More Complex Shaders
0100200300400Bilder pro Sekunde (FPS) 6200 TC def.6200 TC 2xAA6200 TC 4xAAX300 325/292 def.X300 325/292 2xAAX300 325/292 4xAAX300 325/200 def.X300 325/200 2xAAX300 325/200 4xAAX300 325/300 def.X300 325/300 2xAAX300 325/300 4xAA

Hier sehen wir ein ähnliches Bild – dramatische Einbrüche in der theoretischen Leistung nur bei der ROP-kastrierten GeForce 6200 TurboCache. Und noch etwas zeigen uns die Tests mit den etwas komplexeren Shadern. Denn nur im Per-Pixel-Lighting Test, wo jedes Pixel individuell berechnet werden muss, kann die GeForce-Karten noch im theoretischen Bereich von ihrer Fähigkeit profitieren, mit halbierter Präzision zu rechnen. Gründe dafür haben wir bereits vor über einem Jahr in unserem Duell der Generationen erläutert. Der Absturz mit aktivem FSAA ist in diesem Teiltest nicht mehr so drastisch, weil die Berechnungen ausreichend komplex geworden sind. So benötigen die Pixel hier mehr als neun Takte im Schnitt bis zur Vollendung, so dass die ROPs nicht mehr das begrenzende Element darstellen.

Texturfüllrate

Dieser Benchmark wurde von PowerVR entwickelt und diente dazu, die Vorzüge des Kyro 2 zu verdeutlichen, da im VillageMark der Overdraw mit einem Faktor von bis zu 10 besonders groß ist. Viele, besonders ältere Grafikkarten, berechnen hier auch die Oberflächen, die durch andere verdeckt sind und daher eigentlich nur verschwendete Bandbreite und Füllrate bedeuten, so dass dieser grafisch eigentlich nicht sehr aufwendige Benchmark doch öfter als man zunächst denkt zu einem Stolperstein wird. Deswegen ist es von größter Bedeutung in diesem Benchmark, eine gut funktionierende Technik zum Entfernen verdeckter Oberflächen (HSR = Hidden Surface Removal) zu besitzen. Getestet wurde mit folgender Kommandozeile: [InstallDir]\D3DVillagemark.exe -benchmark=1 -width=xxxx -height=xxxx -bpp=32"

VillageMark D3D v1.22
060120180240300Bilder pro Sekunde (FPS) 640x480800x6001024x7681280x10241600x1200

Mit sämtlichen aktiven Optimierungen kann sich die GeForce 6200 TC von den Radeons deutlich distanzieren. Hier zeigt sich eine weitere Sparmaßnahme. Dieses Mal jedoch wurde auf Seiten ATis gespart und zwar am im Villagemark besonders wichtigen HSR. So bieten die Radeon 9600-Karten, von denen auch die X300 SE in ihrer Hypermemory-Variante ein Derivat ist, seit jeher nur eine abgespeckte Form des effizienten HyperZ-Paketes, welches hier um den hierarchischen Z-Buffer beschnitten wurde. Das kostete im Schnitt alter Messungen (Anhand einer Radeon 9500 Pro, bei der dieses Feature vorhanden, aber über die Registry deaktivierbar ist) rund 10 Prozent Leistung.

Erstaunlich mutet die Leistung der GMA900/950-Architektur, besonders in höheren Auflösungen an. Dies könnte dem kachelbasierten Rendering-Prozess, auf den sich die „Extreme Graphics“ stützt, geschuldet sein, der in hohen Auflösungen den Nachteil eines fehlenden, eigenen Speichers beinahe ausgleichen kann.

VillageMark D3D v1.22 HQ
060120180240300Bilder pro Sekunde (FPS) 640x480800x6001024x7681280x10241600x1200

Im Modus mit höherer Qualität, in diesem Benchmark durch Abschalten der Treiberseitig erreichbaren Filteroptimierungen verwirklicht, zeigt sich, dass die Verhältnisse in etwa gewahrt bleiben, allerdings auf deutlich niedrigerem Niveau. Die eigentlich aggressiveren Optimierungen seitens nVidia nutzen der GeForce 6200 TC nicht so stark wie ihren großen Geschwistern, da ihr niedriger ROP-Durchsatz hier der maximalen Entfaltung der Pixelprozessorleistung einen Riegel vorschiebt. Allein die Einsparungen durch die geringeren Bandbreitenanforderungen wirken sich in diesem Falle noch positiv aus, so dass sie hier nicht stärker an Leistung verliert, als es ihre großen Geschwister täten.

Der Templemark ist ursprünglich ein Demonstrationsprogramm von PowerVR gewesen. Da er jedoch noch ein paar halbwegs aktueller Features, wie Hardware-TnL, Bump Mapping und bis zu sechs Texturlagen in einem Durchgang unterstützt, eignet er sich auch gut als unabhängiger Benchmark, der garantiert nicht auf nVidia- oder ATi-Chips optimiert ist. Getestet wurde mit folgender Kommandozeile: [InstallDir]\templedemov1-0-6.exe -benchmark"

Mangels der Option, verschiedene Auflösungen einzusetzen, haben wir hier einen ersten Feldversuch mit Anti-Aliasing und anistroper Filterung durchgeführt, weshalb die GMA-Lösungen von Intel nur in der Grundeinstellung mitgetestet wurden, da sie keine Unterstützung für FSAA bieten.

TempleMark D3D v1.06
04080120160200Bilder pro Sekunde (FPS) 1024x768 def.+2xAA / 2xAF+4xAA / 16xAF

Wie erwartet kann die GeForce in diesem Szenario ob ihrer kaum vorhandenen, FSAA-beschleunigenden Transistoren nur knapp mit der deutlich langsamer taktenden Radeon X300 SE HM mit nur 200 MHz Speichertakt mithalten. Die beiden flotteren Radeons distanzieren sie zum Teil deutlich.

Und zum Abschluss geht es wieder einmal an MDolencs „Fillrate Tester“. Die Settings sind dieselben, wie schon bei der Shaderfüllrate, also 1600x1200 in 32 Bit mit 60 Hz Bildrefresh.

MDolencs Fillrate Tester D3D TexelFill
0200400600800Bilder pro Sekunde (FPS) 6200 TC def.6200 TC 2xAA6200 TC 4xAAX300 325/292 def.X300 325/292 2xAA X300 325/292 4xAAX300 325/200 def.X300 325/200 2xAAX300 325/200 4xAAX300 325/300 def.X300 325/300 2xAAX300 325/300 4xAA

In den etwas unübersichtlichen Graphen wird zweierlei deutlich: Einerseits kann die GeForce wieder einmal erst mit den Radeons mithalten, wenn ihre ROPs als limitierender Faktor ausgeschaltet sind, sprich, wenn es entweder viel zu rechnen, oder wie in diesem Falle, viele Texturschichten zu bewältigen gibt. Auch FSAA scheint dann kein größeres Hindernis in diesem synthetischen Test zu sein. Zweitens scheint es bei den verwendeten Treibern noch ein Problem oder eine Ungereimtheit mit der Bufferzuweisung bei den Radeons zu geben. Nach keinem erkennbaren Muster, jedoch immer reproduzierbar, sind teilweise 4xAA-Werte höher als die entsprechenden 2-Sample-AA Füllraten. Eventuell lagert der Treiber hier unnötigerweise einen/den AA-Buffer via PCI-Express in den Hauptspeicher aus, so dass hier unnötig hohe Leistungseinbußen auftreten. Dem sollte allerdings keine übermäßig große Bedeutung beigemessen werden, da es sich hier um einen rein synthetischen Test handelt. Vollständig erklären können wir dieses Verhalten jedoch nicht.

Z-/Stencilfüllrate

Der Fablemark wurde, wie auch der vorhergehende Templemark, von PowerVR entwickelt und dient mit einem sehr hohen Anteil an transparentem Overdraw der Zurschaustellung der Stärken des Kyro-Chips, was den Stencil-Buffer angeht. Hier kann der Kyro alle für eine seiner Kacheln anfallenden Arbeiten direkt auf der GPU erledigen, so dass etliche, bandbreitenintensive und zeitraubende Speicherzugriffe wegfallen.

Natürlich wird auch auf allen anderen Karten die Stencil-Performance stark gefordert, so dass dieser Test ein Indiz für Spiele sein kann, die vor dem eigentlichen Rendering einen Z-/Stencil-only Pass einlegen, um vorab jeglichen Overdraw zu vermeiden, wie es beispielsweise eine Option in Tomb Raider: Angel of Darkness oder Pflichtprogramm für id-Softwares „Doom 3“ ist Getestet wurde mit folgender Kommandozeile: [InstallDir]\D3DFablemark.exe -benchmark=1 -width=xxxx -height=xxxx -bpp=32"

FableMark D3D v1.0
020406080Bilder pro Sekunde (FPS) 640x480800x6001024x7681280x10241600x1200

Noch erstaunlicher als die beobachtete Leistung im VillageMark zeigen sich beide GMA-Lösungen von Intel, die das Feld deutlich beherrschen. Hier kann das Zone-Based-Rendering vermutlich einmal zeigen, was in ihm steckt und ähnlich den Kyro-Chips viele Speicherzugriffe einsparen. Nach den GMAs folgen die Radeons mit hohem Speichertakt. Von 1024x768 auf 1280x1024 zeigt sich zum ersten Mal die Krux des nur 32 MB großen Framebuffers eines der Radeon-Modelle. Hier bricht die Leistung verständlicherweise deutlich ein, sobald der lokale Framebufferspeicher nicht mehr ausreicht, sämtliche Bildinformationen aufzunehmen. Sie fällt somit noch hinter die GeForce und ihr Schwestermodell mit 33 Prozent geringerem Speichertakt auf den letzten Platz zurück. Der GeForce merkt man in diesem Benchmark nichts von ihren beworbenen „Ultra-Shadow“ Qualitäten an. Nur zwei ROPs, keinerlei Z-Compression und niedrige, durch das 64 Bit schmale Speicherinterface bedingte, Bandbreite sind keine Garanten für eine gute Z-/Stencil-Leistung – hier deutet sich unsere Theorie an, dass der Chip nicht über die Fähigkeit verfügt, zwei Z-Samples pro Takt durch jede seiner beiden ROPs zu schleusen.

Ein letztes Mal bemühen wir an dieser Stelle noch Herrn Dolenc, für dessen Geduld wir uns recht herzlich bedanken möchten.

MDolencs Fillrate Tester D3D Pixel/Z-/StencilFill
04008001.2001.6002.000Bilder pro Sekunde (FPS) 6200 TC def.6200 TC 2xAA6200 TC 4xAAX300 325/292 def.X300 325/292 2xAAX300 325/292 4xAAX300 325/200 def.X300 325/200 2xAAX300 325/200 4xAAX300 325/300 def.X300 325/300 2xAAX300 325/300 4xAA

Wie dieser Graph zeigt, scheint es mit den ROPs der GeForce noch schlimmer bestellt zu sein, als angenommen. Auch einige Quermessungen mit auf 300 MHz übertaktetem Speicher zeigten uns erschreckendes. So sind diese 300 MHz Speichertakt offenbar gut für runde 530 Millionen „Zixel“ pro Sekunde. Hätte nun die GeForce 6200 TurboCache, wie angenommen, die Fähigkeit der GeForces geerbt, pro Takt doppelt soviele Z-/Stencil-Operationen zu bewältigen, wie sie Farbwerte schreiben kann, müsste diese Zixelfüllrate bei niedrigerem Chiptakt die Pixelfüllrate übersteigen. In drei Stufen haben wir den Chiptakt auf 300, 200 und schließlich 100 MHz abgesenkt. Heraus kam in keinem der Fälle eine höhere Z- als Pixelfüllrate. So kann hier, da weder verfügbare Bandbreite, noch fehlende Z-Kompression als mögliche Verursacher in Frage kommen, davon ausgegangen werden, dass es sich entweder um einen kapitalen Bock von Treiberbug handelt, oder die Geforce 6200 nicht über die sog. „Double-Z“-ROPs verfügt, sondern nur über zwei einfache ROPs ohne Kompressionsfunktionen und ohne die Möglichkeit zwei AA-Samples pro Takt zu bearbeiten.

Dies dürfte für eventuelle Qualitätseinstellungen ausserhalb der Texturfilterung die nahezu vollständige Unbrauchbarkeit der 6200 TurboCache in modernen, anspruchsvollen Spielen nach sich ziehen.