VSync, vertikale Synchronisation ist das, was man sich eigentlich unter dem Namen vorstellen kann: die vertikale Synchronisation zwischen Monitor und Grafikkarte.
Der Monitor hat ja ne gewisse Hertz-Zahl... Wenn nun unser Laptop mit nem 60Hz Monitor läuft, dann heißt das, dass der Monitor pro Sekunde 60 mal das Bild von oben nach unten aufbaut (so wars jedenfalls bei den Röhrenmonitoren). Nun wäre es optimal, wenn dein Spiel mit 60 fps laufen würde, da dann auch 60 Bilder pro Sekunde zur Verfügung ständen. Ansonsten kann man das Problem haben, dass dein Monitor gerade zur Hälfte ein Bild aufbaut und dann der nächste Frame von der Grafikkarte geliefert wird. Wenn du nun zB von Links nach Rechts mit deinem Charakter im Spiel steuerst, dann kann man ein so genanntes "Tearing" erkennen, was nichts anderes heißt, dass an der Stelle, wo der neue Frame beginnt, ein Versetzen erkennbar ist (oben guckst du noch ein Pferd an, unten bist du mit dem Blick vielleicht 2cm weiter rechts). Das passiert alles natürlich sehr schnell, dennoch sieht es das Auge zumindest unterbewusst und nimmt es als schlechte Grafik/Grafikfehler wahr.
Aktiviertes VSync verhindert nun den SWAP-Befehl der Engine solange, bis der RAMDAC die letzte Zeile des Monitors ausgelesen und das Monitorsignal umgewandelt hat. Erst dann wird das neue Frame zum Monitor geschickt. Allerdings hat das auch Nachteile... Hattest du vorher 70 fps, so reduziert VSync deine fps auf 60, damit sie synchron zur Hz-Anzahl deines Monitors laufen. Das ist kein Problem, da 60fps immer noch mehr als genug sind... aber was ist, wenn du zB etwas über 25 fps hast - und damit flüssig spielen kannst? VSync reduziert sie auf 20fps, damit die fps synchron zum Bildaufbau sind und du hast schon nicht mehr die fürs flüssig spielen nötige 23-25fps...
Also: VSync kann gut sein... aber bei Spielen, wo deine Grafikkarte aus dem letzten Loch pfeift IMO nicht zu empfehlen
.
Das System ist übrigens einfach: VSync versucht immer die fps-Anzahl auf einen größten gemeinsamen Teiler zu bringen... das heißt, die fps muss immer mit einer Ganzzahl multipliziert die Hz-Zahl des Monitors ergeben.
Beispiel-fps für 60 Hz: 60, 30, 20, 15, 12, 10, 6, 4, 3, 2, 1 (fps)
So... *schwitz* das wars,
Chris
Nachtrag: der Vollständigkeit halber... es gibt auch Triple-Buffer u.ä., welche die Nachteile des vSync reduzieren. Wenn man dann z.B. knapp unter einem gemeinsamen Teiler (60, 30, ...) ist, dann setzt dieser ein und wiederholt einfach ein paar Frames, sodass man dann zB statt 50fps 60fps hat (allerdings keine "echten", da bei 50fps einfach jedes 5. Frame dupliziert wird um auf 60fps zu kommen, die der Monitor ja möchte). Es kommt halt dabei zur Bildverzögerung - auch wenn sie nicht unbedingt sichtbar ist.
Nachtrag #2: Hier ne ausführliche Erklärung - meine ist ja eher "Laienhaft" (
http://www.prad.de/new/monitore/shownews_faq105.html)