TweakPC


ASRock A75 Pro4/MVP im Test (6/10)

ASRock A75 Pro4/MVP: Virtual Vsync

Die eigentlichen Features von Virtu MVP sind "Virtual Vsync" und "Hyperformance". Mit "Virtual Vsync" soll ein gängiges Problem von Spielern mit potenten Grafikkarten gelöst werden, zu dessen Erklärung wir uns zunächst in die Untiefen der Theorie begeben müssen.

Mittels Vsync wird dem sogenannten "Tearing" entgegengewirkt und ohne Vsync kommt es in 3D-Spielen immer zu "Tearing". Damit wird der Versatzeffekt beschrieben, wenn die Grafikkarte bereits einen neueren Frame an den Bildschirm schickt, während dieser sich noch im Bildaufbau bedindet. Die Bildausgabe der Grafikkarte und Bildwiederholfrequenz der Monitors sind asynchron.

Üblicherweise haben Monitore heutzutage eine Bildwiederholrate von 60 Hz. Es werden also pro Sekunde 60 Einzelbilder aufgebaut. Grafikkarten variieren jedoch in der Anzahl der Bilder, die sie pro Sekunde an den Bildschirm senden. Liegt die Anzahl der FPS unterhalb der Bilwiederholrate des Monitors, so hat man pro Bild einen Versatz im Bildaufbau. Steigt die FPS-Leistung der Grafikkarte über 60 FPS, so können sogar zwei Bildversätze pro Bildaufbau des Monitors entstehen.

Das ist nicht schön anzusehen und wird von manchen Spielern sogar als "ruckeln" wahrgenommen. Daher erlauben Spiele (und auch Grafiktreiber) das Aktivieren von Vsync. Durch Vsync wird sichergestellt, dass die Grafikkarte pünktlich zum Neuaufbau eines Bildes durch den Monitor das Bild sendet und so lange kein weiteres, bis der Bildaufbau von neuem beginnt. Es entsteht somit kein "Tearing", also bildinterner Versatz mehr.

(Beispiel: Kein Vsync = Tearing)

Diese grafische Schönheit wird jedoch an anderer Stelle teuer erkauft, denn die Grafikkarte bremst somit künstlich auf 60 FPS ab, obwohl sie mehr als 60 FPS liefern könnte. Sinkt die FPS-Rate der Grafikkarte auf unter 60, so wird durch Vsync automatisch auf 30 Einzelbilder limitiert: ein Bild wird dann über zwei Monitorzyklen hinweg dargestellt.

Schwankt die theoretische FPS-Leistung der Grafikkarte also um 60 FPS hreum, so verändern sich stetig die Intervalle der Bildaktualisierung. Bei 60 Bildern pro Sekunde sind dies 16,6 ms, bei 30 Bildern pro Sekunde das doppelte, also 33,3 ms. Ein ständiger Wechsel zwischen diesen Zeitintervallen stört viele Spieler ganz enorm und trägt dazu bei, dass sich ihr Handeln schlecht koordienieren lässt - Mauseingaben fühlen sich "schwammig" an.

Hinzu kommt bei aktiviertem Vsync ein Effekt, der ab Windows Vista mit der DirectX API ensteht: Hier ist nur "Double Buffering" vorgesehen. Die Grafikkarte verfügt demnach über zwei logische Framebuffer, in die sie die Bilder schreibt und aus denen sie an den Monitor sendet. Solange der eine Bildpuffer sein fertiges Bild an den Monitor schickt, werden neuere Bilddaten in den anderen geschrieben, dann tauschen die Buffer ihre Funktion. Dies geschieht fortdauernd wechselweise.

Könnte die Grafikkarte ohne Vsync sehr hohe Frameraten jenseits des "Vsync-Levels" erreichen (beispielsweise 55 FPS bei "Vsync 30" oder 88 FPS bei "Vsync60"), so entsteht ein "Schluckaufeffekt" zwischen Spiele-Engine und Grafikkarte. Während die Grafikkarte noch aus dem einen Puffer an den Monitor sendet, ist das nächste Bild im zweiten Puffer bereits fertig. Die Grafikkarte nimmt dann so lange keine weiteren Befehle von der Spiel-Engine an, bis der Bildaufbau abgeschlossen ist und sie die Puffer tauschen kann.

Dieses Phänomen bezeichnet man als den sogannten "Input-Lag", bei dem Eingaben des Spielers zeitlich relativ stark verzögert auf dem Monitor dargestellt werden. Im Grunde genommen handelt es sich dabei jedoch technisch gesehen um einen "Output-Lag".

Lösungsansatz von Lucidlogix Virtual Vsync

Mit Virtual Vsync nimmt sich Lucidlogix des "Input-Lag" Problems an. Möglich wird dies dadurch, dass sich die diskrete und die intergrierte GPU die Aufgaben teilen. Während die diskrete Grafikkarte mit den Rechen- und Renderaufgaben beschäftigt ist, wird die integrierte GPU für die Synchronisation mit dem Monitor herangezogen.

Bei aktiviertem Virtual Vsync verhält sich also die diskrete GPU so, als wäre kein Vsync aktiviert und füllt ihre Framebuffer fortlaufend mit neuen Bildinformationen, ohne Rücksicht auf den Bildaufbau des Monitors. Die Spiele-Engine kann der diskreten GPU also kontinuierlich und vor allem recht homogen Daten zusenden, ohne "Pausen" einlegen zu müssen weil die GPU den Bildpuffer bereits gefüllt hat und auf den nächsten Monitor-Refresh warten muss.

(Beispiel: Virtual Vsync = kein Tearing; FPS > 60)

Die Bilddaten werden dann vom Framebuffer der diskreten Grafikkarte in den Framebuffer der integrierten GPU kopiert, die sich darum kümmert die Bildinformationen mit dem Bildaufbau des Monitors zu synchronisieren. Hier beginnt die "Magie", über die Lucidlogix unter Verweis auf laufende Patentverfahren keine näheren Auskünfte gibt. Das Zusammenspiel der beiden GPUs muss sicherstellen, dass der möglichst richtige Frame pünktlich zum Refresh an den Monitor gesendet wird.

Faktisch bedeutet das, dass anhand eines Algorithmus entschieden werden muss, ob die integrierte Grafik zu einem bestimmten Zeitpunkt den Frame n aus dem Framebuffer der diskreten GPU übernimmt, oder ob es sinnvoller ist, auf den Frame n+1 zu warten, weil dieser fertig werden wird, bevor der Monitor beginnt, das nächste Bild aufzubauen.

Das ganze ist dann auch tatsächlich messbar, in unseren Tests sehen wir beispielsweise variable Frameraten über 60 FPS, gleichzeitig ist aber kein Tearing auszumachen. Diese variablen FPS geben dann Aufschluss über das Reaktionsverhalten der Spiel-Engine auf Nutzereingaben, nicht über dargestelle Bilder auf dem Monitor, die entweder 60 Hz oder einem ganzzahligen Teiler davon entsprechen.



ueber TweakPC: Impressum, Datenschutz Copyright 1999-2018 TweakPC, Alle Rechte vorbehalten, all rights reserved