Radeon-Grafikkarten: Bug in AMDs Treibern zur Tessellationsoptimierung

Mit dem Mitte Februar erschienen Catalyst 11.2 kann auch der Grad der Tessellation bestimmt werden – Golem.de konnte bei neuen Tests nachvollziehen, dass das nicht immer klappt. Diese Funktion steht auf allen DirectX-11-Grafiklösungen von AMD ab der Serie Radeon 5000 zur Verfügung.
Die Tessellation ist eine der wichtigsten Neuerungen von DirectX-11. Ohne Zutun von CPU oder Spiel können Grafiktreiber und GPU Oberflächen bis zur völligen Verzerrung detailreicher gestalten. Dazu werden die Oberflächen in zusätzliche Polygone unterteilt, die zudem auch verschiedene Ausrichtungen in der dritten Dimension annehmen können. Der Benchmark Heaven(öffnet im neuen Fenster) nutzt das beispielsweise für die Darstellung eines Drachen, dem durch Tessellation Stacheln zu wachsen scheinen, die vorher kaum vorhanden waren.








Andere Spiele, wie etwa Dirt2, setzen Tessellation für bessere Darstellung von Wasser ein, der Heaven-Benchmark zeigt auch, dass sich Materialien wie Steine damit ohne Aufwand der Grafiker realitätsnah gestalten lassen. Für AMD, das als Truform diese Funktion schon vor zehn Jahren propagierte – inzwischen ist sie Teil von DirectX-11 -, hat die Verbreitung von Tessellation aber einen Nachteil: Konkurrent Nvidia tesselliert auf seinen Fermi-Grafikkarten viel schneller .
Daher wollte AMD mit dem "tessellation slider" in Catalyst 11.2 dem Anwender die Wahl lassen, ob er etwas Darstellungsqualität für höhere Bildraten opfert. Zusätzlich soll es über die "Catalyst Application Profiles" (CAP) Voreinstellungen geben, die über die Option "AMD optimized" den Grad der Tessellation auf nach AMDs Meinung sinnvolle Werte begrenzen.
Der Anwender hat im Bereich "Spiele" des Catalyst-Control-Center drei Möglichkeiten: "AMD optimized" soll die Unterteilung nach den Profilen begrenzen, das ist die Voreinstellung. Schaltet man sie aus, werden die beiden zuvor abgeblendeten Optionen "Anwendungseinstellungen verwenden" und "Ebene" zugänglich. Die erste dieser Möglichkeiten setzt die Profile für die Tessellation außer Kraft, so dass die Programme die Polygone unterteilen, wie sie es für richtig halten. Der Treiber ändert daran dann nichts mehr.
Der Regler 'Ebene' hängt fest
Mit "Ebene" kann der Anwender von "Off" – also keinerlei Tessellation – bis "64x" den Grad der Unterteilung selbst vorgeben. Wie AMD Golem.de bestätigte, steckt darin aber ein Bug. Zwar lässt sich der Tessellationsfaktor fest einstellen, das bleibt er aber auch, wenn später wieder "AMD optimized" eingestellt wird. Hat der Anwender beispielsweise für ein Spiel "4x" gesetzt und schaltet danach wieder auf die Optimierungen um, so bleibt der Tessellationsfaktor bei 4x. Nur ein manuelles Erhöhen oder der Klick auf "Anwendungseinstellungen verwenden" bringt die gewünschten Ergebnisse.
Dieses Verhalten des Treibers war beim Test der Radeon HD 6990 aufgefallen. Anders als dort ursprünglich angenommen, begrenzt AMD die Tessellation bei Heaven 2.0 aber nicht, es gibt dafür gar kein Anwendungsprofil. Wir haben daher neue Tests durchgeführt, diesmal war die Tessellation im Benchmark auf "Extreme" gestellt, um die Leistungsunterschiede deutlicher zu zeigen. Mit jeder Erhöhung des Faktors um 2 sinkt die Leistung zwischen sechs und zwölf Prozent.
Je nach Leistungsfähigkeit der Grafikkarte – die Radeon HD 6990 mit zwei GPUs ist derzeit AMDs Schnellste – sollte die Tessellation auf Werte zwischen 4x und 6x fest eingestellt werden, um den Treiberbug zu umgehen. Ist das System schnell genug, kann auch "Anwendungseinstellungen verwenden" aktiviert werden, dann kann bei extremer Tessellation aber die Bildrate deutlich sinken. Daher erscheint uns eine feste Einstellung im Treiber für die Spielepraxis sinnvoller.








Heaven 2.0 zeigt dabei, dass der Detailgrad jenseits von 4x nicht mehr drastisch steigt. Was auf Screenshots bei genauem Hinsehen – etwa bei den Stacheln des Drachens – noch klar erkennbar ist, wird in Bewegung kaum sichtbar. Der Schritt von 2x zu 4x wirkt sich bei diesem Benchmark, der auch auf hohe Tessellation ausgelegt ist, jedoch drastisch aus. Unter anderem sind die steinernen Treppen ohne Tessellation flach ausgelegt, weil die Vorsprünge der einzelnen Stufen durch diese Funktion erzeugt werden.
Fehler soll im nächsten Catalyst bereinigt werden
Bei einem Faktor von 2x sehen die Stufen schräg aus, mit 4x dann so, wie sie gedacht sind. Höhere Stufen von 6x und 8x wirken sich nur noch gering auf den Detailgrad aus. Das ist bei Heaven an den Dachziegeln und den gepflasterten Wegen besonders gut sichtbar.
Wie AMD Golem.de erklärte, soll das Fehlverhalten des "tessellation slider" im kommenden Catalyst 11.3 abgestellt werden. Wenn das mit diesem für die nächsten beiden Wochen erwarteten Treiber nicht klappt, soll der Fehler auf jeden Fall in einer kommenden Version des Catalyst beseitigt werden. Benchmark-Mogelei ist AMD im Übrigen bei Heaven nicht vorzuwerfen: Die Voreinstellung "AMD optimized" wirkt sich bei diesem Benchmark nicht aus, weil dafür kein Anwendungsprofil existiert. Wer sichergehen will, kann mit "Anwendungseinstellungen verwenden" die Tessellationsoptimierung auch für alle Programme abschalten.