19

nVidias "Adaptive VSync Technology" - die wahrscheinlich interessanteste Kepler-Neuerung

HardOCP haben sich in einem Artikel speziell mit nVidias "Adaptive VSync Technology" beschäftigt und werfen damit dieses beim Launch der GeForce GTX 680 vielleicht etwas zu kurz geratene Thema erneut auf. Mittels Adaptive VSync wird schlicht die Vsync-Funktionalität dynamisch deaktiviert, sobald sowieso keine Frameraten in der Nähe des Vsync-Limits (in aller Regel 60 fps) erreicht werden. Erreichen die Frameraten dagegen das Vsync-Limit, wird Vsync automatisch wieder aktiv, so daß das obligatorische Tearing (auf dem Monitor werden gleichzeitig versetzte Teile von zwei Frames ausgegeben, man sieht also irgendwo einen leichten "Bruch" im Bild) vermieden wird.

Vsync ist im Spiele-Alltag ein generell sinnvolles Features und wird gewöhnlich nur zum Benchmarken deaktiviert, da man natürlich nicht die Vsync-Marke des jeweils eingesetzten Monitors testen will, sondern die Leistungsfähigkeit der Grafikkarte. In der Praxis ergibt sich allerdings das Problem mit "springenden" Frameraten unter dem Einsatz von Vsync: Denn Vsync kann systembedingt nicht die exakte von der Grafikkarte erzeugte Framerate ausgeben, sondern nur gewisse Frameraten-Werte, welche auf ganzzahligen Teilern der Refreshrate basieren – bei 60 Hertz sind demzufolge real angezeigte Frameraten von 12, 15, 20, 30, 60 fps möglich (Hintergrund-Artikel Vsync). Dies kann allerdings insbesondere bei den größeren Sprüngen – wie von 30 fps auf 60 fps – dem geübten Auge unangenehm als Stuttering-Effekt auffallen.

Daneben vernichtet Vsync auch noch gehörig an erzeugter Framerate: In einem Beispiel haben HardOCP ohne Vsync – also unter Benchmark-Bedingungen – 48,7 fps ausgemessen, derselbe Test mit Vsync ergab allerdings nur 33,5 fps. Hier wurde augenscheinlich sehr oft die von der Grafikkarte erzeugte Framerate zwischen 30 und 60 fps durch Vsync weggekappt auf nur noch 30 fps, die dann letztlich auf dem Monitor ankamen. Weil es diese wenig beachtete Nebenproblematik so gut demonstriert, erlauben wir uns ausnahmesweise einmal die Kopie eines der Benchmark-Diagramme von HardOCP:

nVidias Adaptive VSync kann diesen beiden Problemen wie gesagt hervorragend entgegenwirken: Zum einen ist Vsync dort aktiv, wo es wegen des störenden Tearings interessant ist und verhindert damit dieses. Dafür ist Vsync dann dort, wo es die Framerate behindert, inaktiv und sorgt somit sogar für real höhere Frameraten: Im Beispiel von HardOCP gab es mit Vsync wie gesagt 33,5 fps und ohne Vsync waren es 48,7 fps – mit Adaptive VSync waren es 47,2 fps, was nahezu dem Wert von ohne Vsync entspricht.

Hier wurden also zwei Fliegen mit einer Klappe geschlagen – eine hervorragende Arbeit seitens nVidia, noch dazu wo dieses Feature mit den letzten 301er Treibern auch für frühere nVidia-Grafikkarten zur Verfügung steht. Normalerweise müssten die AMD-Treiberingenieure derzeit Überstunden ohne Ende abreißen, bis AMD etwas ähnliches präsentieren kann. Natürlich ist es subjektiv, ob man dieses Feature schätzt oder nicht (womit das Thema der nächsten Umfrage gefunden wäre) – aber wenn man dieses Feature als nutzvoll anerkennt, dann ist dies ein heftiger Pluspunkt zugunsten von nVidia in der ewigen Streitfrage AMD vs. nVidia. An diesem Punkt kann der eiserne AMD-User sogar wirklich ins Grübeln geraten – um so dringender sollte sich AMD diesem Thema widmen.

Nachtrag vom 21. April 2012

Die vorstehende Meldung hat einen entscheidenden Fehler – sie geht nicht auf TripleBuffering ein. Mittels TripleBuffering geht man das Problem der springenden bzw. niedrigeren Frameraten unter aktiven Vsync ebenfalls an, einziger Nachteil ist ein zusätzlicher Inputlag, da die Grafikkarte nun schließlich immer ein weiteres fertiges Bild vorhalten muß, ehe dies am Monitor ausgegeben wird. Bisher war TripleBuffering allerdings immer nur eine Behelfsmöglichkeit, da es die wenigsten Spiele direkt unterstützen. nVidia hat dies allerdings schon vor einiger Zeit geändert und forciert nunmehr mittels des Treibers automatisch TripleBuffering. Dies funktioniert zwar nicht unter jedem Spiel, allerdings kann man bei den Problemfällen diese Funktionalität über diverse TweakTools dann doch noch aktivieren.

Letztere Möglichkeit funktioniert im übrigen auch für die AMD-User, selbst wenn der AMD-Treiber von Haus aus keine Forcierung von TripleBuffering unter DirectX zuläßt. Insofern ist die Diskussion zu dieser Meldung mehrheitlich auf dem Standpunkt, daß TripleBuffering eine völlig ausreichende bzw. sogar bessere Lösung für diese Problematik darstellt und Adaptive VSync im eigentlichen nicht benötigt werden würde. Allenfalls könnten AMD & nVidia es noch perfekt machen und TripleBuffering ohne jede Problemfälle oder/und notwendige Usereingriffe unter wirklich jedem Spiel erzwingbar machen. So gesehen erscheint Adaptive VSync allerhöchstens als weitere Lösung für ein bestehendes Problem, der Anspruch der alleinigen Problemlösung entfällt allerdings. Abschließend greifen wir das Thema Adaptive VSync oder TripleBuffering auch noch mit einer Umfrage auf.