VSync — was es ist, Funktionsweise und Konfiguration

Autor: IT Sectr Veröffentlicht: 2026-04-01 Lesezeit: 8 Min.

VSync (Vertical Synchronization) ist eine Technologie, die die Ausgabe jedes neuen GPU-Frames mit der Bildwiederholfrequenz des Displays synchronisiert und Bildrisse beseitigt. Laut Apple Metal Documentation ist die Synchronisation mit VBlank für flüssiges Rendering auf mobilen Geräten zwingend erforderlich. Screen Tearing tritt auf, wenn ein Frame während der vertikalen Abtastung aktualisiert wird, und VSync verhindert diese Durchmischung.

Wichtige Punkte

  • VSync ist ein Mechanismus zur GPU-Display-Synchronisation durch Warten auf VBlank
  • Screen Tearing ist ein sichtbarer Bildriss, wenn der Frame während der Abtastung wechselt
  • Doppelpufferung ist die primäre VSync-Implementierungsmethode mit Front- und Backbuffer
  • Input Lag ist ein Nebeneffekt von VSync, der die Verzögerung zwischen Benutzeraktion und Anzeige erhöht
  • Adaptive Sync ist eine moderne Alternative zu VSync, die dessen Nachteile beseitigt

Was ist VSync

VSync (Vertical Synchronization) ist ein Hardware-Software-Mechanismus, der die GPU zwingt, auf das vertikale Austastsignal (VBlank) zu warten, bevor ein neuer Frame ausgegeben wird. Ohne VSync kann die GPU jederzeit Frames senden, sogar wenn das Display mitten in der Darstellung des aktuellen Frames ist, was zu Bildrissen entlang einer horizontalen Linie führt.

Auf mobilen Geräten wird VSync auf der Ebene des Grafiktreibers und des Betriebssystems implementiert. iOS verwendet VBlank-Synchronisation über Metal, Android über SurfaceFlinger und BufferQueue. Bei aktivierter vertikaler Synchronisation kann der FPS der Anwendung die Bildwiederholfrequenz des Displays nicht überschreiten — 60, 90 oder 120 Hz, je nach Gerätemodell.

Der Begriff vertikale Synchronisation stammt vom Funktionsprinzip von CRT-Monitoren, bei denen ein Elektronenstrahl das Bild Zeile für Zeile von oben nach unten zeichnete. Nach Abschluss eines Frames kehrte der Strahl in die obere linke Ecke zurück — dieser Moment wurde vertikale Austastung genannt. Moderne LCD- und OLED-Displays haben diesen Begriff beibehalten, obwohl sie physikalisch anders funktionieren.

Wie die vertikale Synchronisation funktioniert

Die GPU rendert Frames in den Backbuffer, während das Display aus dem Frontbuffer liest. VSync stellt sicher, dass der Buffer-Swap nur während des VBlank erfolgt — wenn das Display die Anzeige des aktuellen Frames abgeschlossen hat und für den nächsten bereit ist. Dieser Mechanismus wird Doppelpufferung mit VBlank-Synchronisation genannt.

Doppelpufferungs-Mechanismus

Die Doppelpufferung verwendet zwei Buffer: einen Frontbuffer, der auf dem Bildschirm angezeigt wird, und einen Backbuffer, in den die GPU den aktuellen Frame schreibt. Wenn der Frame fertig ist, werden die Buffer getauscht. Bei aktiviertem VSync wird dieser Swap bis zum nächsten VBlank verzögert. Die GPU ist im Leerlauf, wenn der Frame vor dem VBlank fertig ist, was die Leistung reduziert, aber Tearing beseitigt.

cpp
// OpenGL — VSync-Aktivierung über WGL_EXT_swap_control
HDC hdc = wglGetCurrentDC();
PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT =
    reinterpret_cast<PFNWGLSWAPINTERVALEXTPROC>(
        wglGetProcAddress("wglSwapIntervalEXT"));
wglSwapIntervalEXT(1); // 1 = VSync aktiviert, 0 = deaktiviert

VBlank-Wartezeit

VBlank ist ein kurzes Intervall zwischen der letzten Zeile des aktuellen Frames und der ersten Zeile des nächsten Frames. In diesem Moment aktualisiert das Display keine Pixel, und der Buffer-Swap erfolgt ohne Artefakte. Die VBlank-Dauer hängt von der Bildwiederholfrequenz ab: bei 60 Hz auf einem 1080p-Display dauert VBlank etwa 1,4 ms. Wenn die GPU das Rendern vor VBlank nicht abschließen kann, wird der Frame übersprungen und das Display zeigt den vorherigen Frame für einen weiteren Zyklus — dies wird als Stottern wahrgenommen.

Dreifachpufferung löst das Problem des GPU-Leerlaufs durch Hinzufügen eines dritten Buffers. Die GPU kann sofort mit dem Rendern des nächsten Frames beginnen, selbst wenn einer der Backbuffer auf VBlank wartet. Dies erhöht die FPS mit VSync, fügt aber eine zusätzliche Frame-Latenz hinzu. Auf mobilen Geräten wird die Dreifachpufferung in einigen Spiel-Engines und in Vulkan über den Mailbox-Modus verwendet.

Hauptprobleme ohne VSync

Deaktiviertes VSync bietet maximale FPS und minimale Eingabeverzögerung, jedoch auf Kosten visueller Artefakte. Für mobile Spiele und Anwendungen mit flüssiger Animation ist die Wahl zwischen VSync und dessen Deaktivierung ein Kompromiss zwischen Bildklarheit und Steuerungsreaktionsfähigkeit.

Screen Tearing

Screen Tearing ist ein horizontaler Riss, bei dem der obere Teil des Bildschirms den vorherigen Frame und der untere Teil bereits den nächsten Frame anzeigt. Dies tritt auf, wenn die GPU die Buffer während der Abtastung wechselt. Auf mobilen Geräten ist Tearing besonders bei schnellem Scrollen oder in dynamischen Szenen mit hohen Bildraten auffällig. OLED-Displays mit ihrer sofortigen Reaktion lassen Tearing im Vergleich zu LCD kontrastreicher erscheinen.

Die Intensität des Tearings hängt vom Verhältnis von FPS zur Bildwiederholfrequenz ab. Bei 60 FPS auf einem 60-Hz-Display erscheint Tearing als eine einzelne statische Linie, während bei 300 FPS auf 60 Hz mehrere wellenförmige Risse auftreten, die sich von oben nach unten bewegen. Je höher der FPS relativ zur Bildwiederholfrequenz, desto mehr Risse und desto auffälliger sind sie.

Eingabeverzögerung (Input Lag)

Input Lag bei VSync ist die Verzögerung zwischen dem Drücken einer Taste und der Anzeige des Ergebnisses auf dem Bildschirm. Die vertikale Synchronisation fügt durchschnittlich eine Frame-Latenz hinzu (16,7 ms bei 60 Hz) und bei Dreifachpufferung bis zu zwei Frames. Für Gelegenheitsanwendungen ist diese Verzögerung nicht wahrnehmbar, aber für Shooter, Kampfspiele und Rhythmusspiele ist sie kritisch: Profis bemerken Verzögerungen von sogar 8 ms.

Laut einer Studie von NVIDIA (2024) beträgt die durchschnittliche Eingabeverzögerung in CS:GO bei 60 FPS ohne VSync 22 ms und mit VSync 39 ms. Bei 144 FPS verringert sich der Unterschied auf 14 vs. 18 ms. Auf mobilen Plattformen ist der VSync-Input-Lag weniger kritisch aufgrund der Touch-Eingabe, bei der die Hardware-Latenz des Touchscreens (10–30 ms) die zusätzliche Synchronisationsverzögerung überdeckt.

VSync-Konfiguration in der mobilen Entwicklung

In der mobilen Entwicklung wird VSync über Grafik-APIs, Spiel-Engines und Systemeinstellungen des Betriebssystems gesteuert. iOS bietet weniger Kontrolle, Android bietet mehr über Vulkan und OpenGL ES. Die Wahl des Modus hängt vom Anwendungstyp ab: Spiele, UI oder Video.

VSync in Unity und Unreal Engine

Unity verwendet die Einstellung QualitySettings.vSyncCount: 0 — deaktiviert, 1 — VSync bei jedem VBlank, 2 — bei jedem zweiten VBlank (FPS halbiert). In Unreal Engine wird VSync über den r.VSync-Konsolenbefehl und DefaultEngine.ini gesteuert. Für mobile Builds wird empfohlen, VSync in Unity zu deaktivieren und einen eigenen FPS-Limiter zu verwenden, da das integrierte VSync in Android SurfaceFlinger unvorhersehbare Verzögerungen verursachen kann.

csharp
// Unity — VSync- und FPS-Steuerung
void Awake()
{
    // 0 = VSync deaktiviert, 1 = VSync aktiviert
    QualitySettings.vSyncCount = 0;
    // Benutzerdefinierter FPS-Limiter anstelle von VSync
    Application.targetFrameRate = 60;
}

VSync in Vulkan und Metal

Vulkan bietet vollständige Kontrolle über VkSwapchainPresentInfo und presentMode: VK_PRESENT_MODE_FIFO_KHR — klassisches VSync, VK_PRESENT_MODE_MAILBOX_KHR — Dreifachpufferung ohne Warten, VK_PRESENT_MODE_IMMEDIATE_KHR — ohne Synchronisation. Metal in iOS steuert VSync über CAMetalLayer.displaySyncEnabled. Ab iOS 14 empfiehlt Apple die standardmäßige Verwendung von displaySyncEnabled = true für alle Anwendungen außer Arcade-Spielen.

ModusBeschreibungLatenz
FIFOKlassisches VSync mit VBlank-Wartezeit1 Frame
MailboxDreifachpufferung, Verwerfen alter Frames1–2 Frames
ImmediateOhne Synchronisation, maximale FPS0 Frames

FPS-Begrenzung ohne VSync

Ein FPS-Limiter ist eine Alternative zu VSync, bei der die Anwendung die Bildrate programmatisch begrenzt, ohne auf VBlank zu warten. Dieser Ansatz bietet eine vorhersagbare Latenz und ist unabhängig von der Bildwiederholfrequenz des Displays. Auf Android wird die FPS-Begrenzung über Choreographer implementiert, auf iOS über CADisplayLink mit manueller Ausgabezeitsteuerung.

VSync und moderne Synchronisationstechnologien

Traditionelles VSync hat einen grundlegenden Nachteil: es ist an eine feste Bildwiederholfrequenz des Displays gebunden. Wenn die GPU 45 FPS auf einem 60-Hz-Display ausgibt, kann VSync keine 45 Frames anzeigen — es zeigt 30 (Überspringen jedes zweiten VBlank) oder wechselt zwischen 60 und 30 mit ungleichmäßigen Intervallen. Dies erzeugt Stottern, das das Spielerlebnis mehr beeinträchtigt als Tearing.

Adaptive Sync (FreeSync, G-Sync, Apple ProMotion) löst dieses Problem, indem es die Bildwiederholfrequenz des Displays dynamisch an den FPS der Anwendung anpasst. Wenn die Anwendung 47 FPS ausgibt, wechselt das Display auf 47 Hz — jeder Frame wird genau einmal angezeigt, ohne Risse oder Stottern. ProMotion in iOS wählt automatisch eine Frequenz von 24 bis 120 Hz und balanciert Flüssigkeit und Stromverbrauch aus.

Auf mobilen Geräten wird Adaptive Sync zum Standard: iPad Pro (2017+) mit ProMotion, Android-Flaggschiffe mit LTPO-Displays (Samsung Galaxy S23 Ultra, Google Pixel 8 Pro) unterstützen dynamische Bildwiederholfrequenzen von 1 bis 120 Hz. Für Entwickler bedeutet dies, dass VSync im traditionellen Sinne durch Systemverwaltung ersetzt wird — es reicht, targetFrameRate zu setzen, und das Betriebssystem passt die Bildwiederholfrequenz für das optimale Gleichgewicht zwischen Flüssigkeit und Akkulaufzeit an.

Häufig gestellte Fragen

Sollte VSync in mobilen Spielen immer aktiviert sein?

Nein. Für dynamische Spiele (Shooter, Kampfspiele) erhöht VSync den Input Lag ohne signifikanten Nutzen — Tearing auf mobilen OLED-Bildschirmen ist aufgrund der geringen Displaygröße weniger auffällig. Für Gelegenheitsspiele und UI verbessert VSync die Wahrnehmung von Flüssigkeit.

Wie beeinflusst VSync den Akku eines mobilen Geräts?

VSync reduziert den Stromverbrauch, da die GPU keine unnötigen Frames rendert. Bei deaktiviertem VSync arbeitet die GPU mit maximaler Frequenz, und jeder nicht angezeigte Frame verschwendet Energie und erwärmt das Gerät ohne Nutzen für den Benutzer.

Was ist der Unterschied zwischen VSync und einem FPS-Limiter?

VSync synchronisiert die Frame-Ausgabe mit dem VBlank des Displays, während ein FPS-Limiter einfach die Rendering-Frequenz im Anwendungscode begrenzt. Ein FPS-Limiter beseitigt kein Tearing, bietet aber eine vorhersagbare Verzögerung ohne Bindung an die Bildwiederholfrequenz des Bildschirms.

Warum kann die FPS bei aktiviertem VSync um die Hälfte fallen?

Wenn die GPU einen Frame nicht vor VBlank abschließen kann, wird der VBlank übersprungen und der Frame für zwei Aktualisierungszyklen angezeigt. Bei 60 Hz ergibt dies 30 FPS. Die Dreifachpufferung mildert diesen Effekt, indem sie der GPU ermöglicht, den nächsten Frame ohne Wartezeit zu beginnen.

Unterstützen iOS und Android Adaptive Sync?

Ja. iOS ProMotion (iPad Pro, iPhone 13 Pro+) unterstützt dynamische Frequenzen von 24–120 Hz. Android über LTPO-Panels unterstützt 1–120 Hz. Entwickler müssen dies nicht manuell verwalten — das System wählt automatisch die optimale Frequenz aus.

Zusammenfassung

  • VSync ist ein GPU-Display-Synchronisationsmechanismus, der Screen Tearing beseitigt
  • Doppelpufferung mit VBlank-Wartezeit ist die klassische Implementierung der vertikalen Synchronisation
  • Screen Tearing ist das Hauptproblem bei deaktiviertem VSync, besonders bei hohem FPS auffällig
  • Input Lag ist der Preis von VSync, der ein bis zwei Frames Verzögerung hinzufügt
  • Dreifachpufferung reduziert Stottern, erhöht aber den Input Lag
  • Adaptive Sync (ProMotion, LTPO) ist ein moderner Ersatz für VSync mit dynamischer Bildwiederholfrequenz
  • Für mobile Spiele verwenden Sie einen FPS-Limiter anstelle von VSync für vorhersagbare Latenz

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch