Ganz generell darf man davon ausgehen, dass die Damen und Herren von Blurbusters wissen, was sie da Testen und veröffentlichen.
Das ist eben alles pauschal nicht so. Vsync sorgt in der Tat dafür, dass der Monitor (im Idealfall) mit den fps passend zur maximalen Frequenz/zum nächsten Scan beliefert wird. Das bedeutet aber nicht, dass die Grafikkarte nicht trotzdem intern etwas mehr als diese produziert, produzieren muss, um eine gleichmäßige Bildfolge zu garantieren, denn bspw. der Buffer (und den gibt es auch noch in unterschiedlichen Versionen bspw. als zweifach und dreifach Buffer) muss ja auch gefüllt werden, dessen Inhalt so aktuell wie möglich sein.
Nur werden diese dann nicht ausgegeben und auch der Aufwand für die Grafikkarte (die ja dank Vsync weiß, was von ihr erwartet wird) sinkt bei anspruchslosen Spielen, die normalerweise ein Vielfaches an fps ermöglichen würde, beträchtlich, denn die Grafikkarte nutzt dann die Ressourcen weit weniger ausgiebig.
Vsync ist eben (wie bereits dargelegt) die Limitation aus Sicht des Monitors und nicht unbedingt die der Grafikkarte. Vsync "sagt" der Grafikkarte lediglich "Der Monitor hat so und so viele Hz, das nächste fertige Bild muss demnach theoretisch zum Zeitpunkt x geliefert werden". Diesen errechneten Zeitpunkt wartet die Grafikkarte ab, bevor sie das nächste komplett berechnete Bild abschickt. Es gibt aber keine direkte Kommunikation zwischen Monitor und Grafikkarte. Wenn sich der Programmierer im Timing vertut, ist die Umsetzung fehlerhaft, weswegen man auch die Option im Treibermenü des Grafikkartenherstellers und nicht die in den Spielen eingepflegte verwenden soll.
Das FPS-Llimit hingegen setzt genau von der anderen Seite an, nimmt keine Rücksicht auf den Monitor, sondern begrenzt einfach die maximale Ausgabe der Grafikkarte und der Monitor darf sehen, wie er damit umgeht (hypothetisch können 65% der Bilder bspw. zu "nicht idealen Zeitpunkten" von der Grafikkarte geliefert werden, sodass es zu Rucklern kommt, weil der Monitor diese gar nicht richtig verwerten/scannen und ausgeben kann).
Wenn die Sache einzig über ein fps-Limit passend zum Monitor geregelt werden könnte, bräuchte es kein Gsync/Freesync/Vsync/Fast Sync/etc. Die Sache ist doch etwas komplizierter.
Wenn man beide Limits setzt, zäunt man das Vieh quasi von beiden Seiten ein. Man gibt der Grafikkarte vor, wie viele fps sie zu produzieren hat, teilt ihr gleichzeitig aber auch mit, wann diese rechnerisch geliefert werden sollten, damit sie am besten zum Monitor und dessen Hz passen.
Und dass dies dann letztendlich in Vollendung harmoniert, dafür sorgt dann das VRR respektive Gsync/Freesync. Und solange man in deren Range bleibt, ist das Bild tearing- und lagfrei.
Die 300fps dienen lediglich der Vergleichbarkeit der Ergebnisse. Dieses 300er Limit hätten man auch ganz aus oder auf 1000fps setzen können. Nur stellt sich dann eben die Frage der Vergleichbarkeit. 300fps schafft das Testsystem scheinbar reproduzierbar.
Deswegen nimmt man sich ein (hohes) Maximum, das die Grafikkarte wiederholt zu liefern vermag.
Edit: Vielleicht noch mal als weiterführende Erklärung:
Vsync does not actually cap the frame rate. This is a popular misconception about vsync. What it does is syncing the output of new frames to the monitor's "vblank" signal (the point between the monitor having finished scanning out the current frame and is preparing to scan out the next.) The frame rate not exceeding the refresh rate is just a side effect of that. There's no actual frame capping involved.
Because there is no frame cap, the game is preparing new frames as fast as it can. Once all possible frame buffers and all pre-render queues have been filled, only then will the game stop queuing more frames to be displayed. That means when all these buffered and queued frames are displayed later on, they're based on old input. Meaning input lag.
Setting pre-rendered frames to 1 means less queued work is waiting to be processed. The game stops trying to output more frames sooner. Meaning you get less input lag. However, this doesn't help with queued frames that have already been rendered but have accumulated in the output buffers. You still get more input lag that needed.
You can fix this issue by using a frame cap that's set at almost the exact same value as your refresh rate. Just 0.007FPS below it works fine (RTSS is accurate enough to allow for this.)
(Please note that all this is for vsync. You don't need to do any of this when using G-Sync or FreeSync. For those two sync methods, just cap to 2FPS below max refresh and you're done.)
The truth about PRE-RENDERING 0? | Page 12 | guru3D Forums