Werbung
Die heute veröffentlichte AMD Radeon HD 7990 (Hardwareluxx-Artikel) konnte bei der Performance überzeugen - beim Preis und dem leidigen Thema Mikroruckler scheiden sich aber einmal mehr die Geister. Die Problematik ist für AMD nicht neu, bisher hat man sich wohl nur davor gescheut, denn ganz so einfach ist die Lösung an dieser Stelle nicht.
Zunächst einmal muss verstanden werden, warum Mikroruckler überhaupt auftreten: Die Game-Engine gibt die zu berechnenden Daten an die Grafikkarte und diese wiederum versucht den darzustellenden Frame schnellstmöglich zu berechnen. Je nach Komplexität der Szene dauert dies unterschiedlich lange. Bei 60 Frames pro Sekunde benötigt die Karte im Schnitt 16,7 ms. Dies ist allerdings nur ein Durchschnittswert, denn in Realität sind die Abstände zwischen den Frames sehr unterschiedlich. So kann es vorkommen, dass Frame eins bereits nach 10 ms die Rendering-Pipeline verlässt und für den zweiten Frame 40 ms benötigt werden. Diesen Unterschied in den Framezeiten nimmt der Spieler als Ruckler wahr. Die aktuelle Catalyst-Generation ist auf eben diese Methodik der niedrigen Latenz hin optimiert.
Diese Methode hat aber auch einen Vorteil: Zum Einen sind die Frames pro Sekunde so höchstmöglich. Zum Zweiten ist der Input-Lag so gering wie möglich. Eingaben des Spielers werden von der Engine also schnellstmöglich umgesetzt und ausgegeben. AMD ist also auf der Suche nach dem Mittelweg zwischen möglichst niedriger Latenz und gleichmäßigen Frametimes.
AMD scheint sich nun aber dazu entschlossen zu haben, sich auf Seiten des Treibers einer Lösung zu nähern. Dazu arbeitet man derzeit an einem Treiber, der einen entsprechenden Algorithmus für das sogenannte "Frame Pacing" enthält. Der Treiber wird laut AMD noch Prototyp genannt und befindet sich in einer frühen Alpha-Phase. Mit einem Release als Beta sei in näherer Zukunft nicht zu rechnen, bis zum finalen Release könnte es noch mehrere Monate dauern. Die Monate Juni/Juli werden als möglicher Termin für eine Beta genannt.
Im aktuellen Stadium arbeitet AMD noch am Algorithmus zur Berechnung des Wartezyklus. Dazu wird auf Basis der durchschnittlichen Frames pro Sekunde eine Wartezeit bestimmt, die der bereits berechnete Frame zurückgehalten wird. Die aktuelle Version des Treibers bietet noch keine Option, um zwischen "Frame Pacing" und "Frame Latency" zu wählen. Dies könnte für Nutzer interessant sein, die zwischen kleineren Rucklern und einem möglichen Input-Lag wählen wollen. Zudem enthält dieser noch nicht die aktuellen Performance-Verbesserungen, wie sie im Catalyst 13.3 Beta oder Catalyst 13.5 enthalten sind.
Anhand von vier Spielen, in denen wir die Frametimes einmal mit und einmal ohne den neuen Treiber aufgezeichnet haben, wollen wir das "Frame Pacing" dokumentieren:
Deutlich ist eine Verbesserung bzw. Glättung der Frametimes zu erkennen. Dies ist allerdings nicht nur mess-, sondern auch spürbar. Geraden in Spielen wie Battlefield 3 und Far Cry 3, die in den von uns gewählten Settings allerdings auch ein Worst-Case-Szenario darstellen. Allerdings besitzt NVIDIA einen großen Vorsprung, denn hier hat man sich schon vor der "Kepler"-Generation mit der Problematik auseinandergesetzt. AMD muss sich allerdings die Frage gefallen lassen, warum man erst jetzt mit der Entwicklung begonnen hat bzw. sich erst jetzt damit auseinandersetzt.
AMD hat den Hebel an der richtigen Stelle angesetzt, muss aber noch an den Feinheiten arbeiten. Eben diese sind laut AMD aber extrem schwierig abzustimmen, so dass eine Veröffentlichung des Treibers noch einige Zeit dauern wird. AMD stellt den Treiber ausschließlich Redaktionen zur Verfügung und bittet darum, diesen nicht zu veröffentlichen. Dies wollen wir an dieser Stelle auch beherzigen und werden die Entwicklung des Treibers in zukünftigen Releases weiter beobachten.