Vertikale Synchronisation
Vertikale Synchronisation oder Vertikale Synchronisierung, kurz VSync, ist ein Begriff aus der Computertechnik. Eine vertikale Synchronisierung verhindert bei Grafikkarten eine Aktualisierung der Bilddaten, während der Bildschirm das Bild aufbaut.
VSYNC
und HSYNC
(horizontale Synchronization) sind auch allgemein die (englischsprachigen) Bezeichner der Steuersignale von Anfang und Ende eines Bildes[1] sowie einer Bildzeile.[2]
Vertikale Synchronisation
Option bei modernen Grafikkarten
Der Bildaufbau bei Röhrenbildschirmen findet zeilenweise statt. Ein Elektronenstrahl wandert eine Zeile entlang und führt dann einen Zeilensprung durch. Wenn die Bilddaten sich während des Bildaufbaus ändern, können Darstellungsfehler, sogenannte Glitches auftreten, da das angezeigte Bild nicht mehr konsistent ist. Typische Glitches entstehen bei geraden Kanten, die sich zwischen dem Bildwechsel gedreht haben. Sie werden geknickt oder versetzt dargestellt.
Mit aktivierter vertikaler Synchronisation wartet die Grafikkarte bis zu dem Moment, an dem der Elektronenstrahl von rechts unten nach links oben springt, und aktualisiert erst dann die Bilddaten. Besonders einfach ist dieses Verhalten bei mehreren Framebuffern realisierbar. Mit aktivierter vertikaler Synchronisation werden die Buffer nicht getauscht, wenn das Bild vollständig berechnet wurde, sondern wenn der Elektronenstrahl zurückspringt.
Vertikale Synchronisation ist problematisch, wenn die Grafikkarte für die Berechnung eines neuen Bildes länger braucht als der Monitor zur Darstellung. Wenn der Monitor beispielsweise mit einer Bildwiederholfrequenz von 60 Hz arbeitet, die Grafikkarte aber nur 50 Bilder pro Sekunde berechnen kann, werden jede Sekunde wahrscheinlich 10 Aktualisierungszyklen des Monitors übergangen (kein Bild wird dargestellt). Das kann zu optischen Verspätungsrucklern führen. Im schlimmsten Fall hat die Grafikkarte kurz nach dem Rücksprung ein neues Bild berechnet, muss aber warten, bis der Monitor das mittlerweile veraltete Bild fertig dargestellt hat. Bei Spielen kann auch die Erhöhung der Latenz um einige Millisekunden (maximal 1 Frame, z. B. 16,7 ms bei 60 Hz) relevant sein.
Als Programmiertechnik bei VGA-Chips
Ältere VGA-Chips konnten nicht gleichzeitig neue Daten in den Grafikspeicher laden und ein Bild darstellen. Da das Laden neuer Daten Priorität hatte, stockte das Bild, wenn neue Daten eintrafen. Mit vertikaler Synchronisierung wurde das Bild im Hauptspeicher vorberechnet und erst in den Grafikspeicher kopiert, wenn der Elektronenstrahl des Monitors einen Rücksprung durchführte. Der Programmierer musste sich selbst um das präzise Timing kümmern, der VGA-Chip gab lediglich in einem Register die Position des Elektronenstrahls an.
Als Ansteueroption für Flüssigkristallbildschirme
Moderne Flüssigkristallbildschirme (Flachbildschirme) verwenden im Unterschied zu Röhrenmonitoren nur eine (manchmal auch zwei) Bildwiederholfrequenzen, üblicherweise 60 Hz und 75 Hz. Daher haben Grafikkarten (oder deren Treiber) heute meist eine VSYNC
-Option. Ist diese aktiviert, synchronisiert der Grafikprozessor oder -treiber das Bild mit der Bildwiederholrate des Monitors, auch wenn die Grafikkarte wesentlich höhere Bildfolgeraten bereitstellen könnte. Daher haben auch Spiele und andere Programme, die hohe Anforderungen an die Grafik stellen, teils einen Parameter VSYNC
, der in den Optionen aktiviert werden kann, wenn Darstellungsprobleme auftreten, und dann an den Treiber weitergereicht wird. Ist die Grafikkarte deutlich schneller, als ein Spiel es erfordert, wird durch vertikale Synchronisation die benötigte Leistung und damit die Abwärme sowie die Stromaufnahme der Grafikkarte reduziert.
Siehe auch
Einzelnachweise
… und Anmerkungen:
- ↑ … englisch frame genannt, für den „(Bild-)Rahmen“ …
- ↑ Roland Oberhammer: Echtzeit Objekterkennung auf low power embedded systems. Grin Verlag, 2008, ISBN 978-3638916639, S. 28