Frames Per Second, erklärt
Heute gehen wir auf eine der am häufigsten gestellten Fragen zum Thema PC-Gaming ein: Wie viele Bilder pro Sekunde brauchen Sie? Sollten Sie mit der gleichen Bildwiederholrate wie die maximale Bildwiederholrate Ihres Monitors arbeiten, z. B. 60 FPS auf einem 60-Hz-Monitor, oder gibt es einen Vorteil, wenn Sie Spiele mit einer viel höheren Bildwiederholrate spielen, als Ihr Monitor anzeigen kann, z. B. 500 FPS?
Um diese Frage zu beantworten, müssen wir ein wenig darüber sprechen, wie ein Grafikprozessor und ein Bildschirm zusammenarbeiten, um Bilder an die Augen zu senden, und wie Technologien wie Vsync funktionieren.
Aber unterm Strich führt das Ausführen von Spielen mit extrem hohen Bildwiederholraten, die weit über der Bildwiederholfrequenz des Monitors liegen, zu einem reaktionsschnelleren Spielerlebnis mit einer geringeren wahrgenommenen Eingabe-Latenz. Das ist die Antwort auf die Frage für diejenigen, die nicht bis zum Ende warten wollen. Lassen Sie uns jetzt über das Warum sprechen.
Anmerkung der Redaktion: Dieser Beitrag wurde ursprünglich am 2. August 2018 veröffentlicht. Er ist heute noch genauso relevant und aktuell wie damals, daher haben wir ihn im Rahmen unserer #ThrowbackThursday-Initiative erneut veröffentlicht.
Angenommen, wir haben einen Monitor mit einer festen Bildwiederholfrequenz von 60 Hz. Mit anderen Worten, der Monitor aktualisiert seine Anzeige alle 1/60 Sekunde, also alle 16,7 ms. Bei der Ausführung eines Spiels gibt es keine Garantie dafür, dass die GPU jedes Bild in genau 16,7 Millisekunden rendern kann. Manchmal dauert es 20 ms, manchmal 15 ms, manchmal 8 ms. Das sind die Schwankungen beim Rendern eines Spiels auf einem Grafikprozessor.
Aufgrund dieser schwankenden Rendering-Rate hat man die Wahl, wie jedes gerenderte Bild an den Monitor weitergegeben wird. Er kann das neue Bild an den Bildschirm weitergeben, sobald es vollständig gerendert ist, was allgemein als Ausführen des Spiels mit „Vsync“ oder „Vertical Sync Off“ bekannt ist, oder er kann warten, bis der Bildschirm zum Aktualisieren bereit ist, bevor er das neue Bild sendet, was als „Vsync On“ bekannt ist.
Vsync Off
Die Verwendung der ersten Methode, Vsync Off, verursacht Tearing. Das liegt daran, dass ein Bildschirm nicht das gesamte Bild sofort aktualisieren kann, sondern zeilenweise, normalerweise vom oberen Rand des Bildschirms zum unteren. Während dieses Prozesses kann ein neues Bild von der GPU fertiggestellt werden, und da wir Vsync nicht verwenden, wird das Bild sofort an den Bildschirm gesendet. Das Ergebnis ist, dass der Monitor in der Mitte einer Auffrischung neue Daten empfängt und den Rest der Zeilen auf dem Display mit diesen neuen Daten aktualisiert. Das Ergebnis ist ein Bild, bei dem die obere Hälfte des Bildschirms aus dem vorherigen Bild und die untere Hälfte aus dem neuen, frisch verfügbaren Bild besteht.
Tearing
Abhängig vom angezeigten Inhalt zeigt sich diese Aufspaltung zwischen neuen und alten Bildern bei einer Auffrischung als ein Riss oder eine sichtbare Linie zwischen den alten und neuen Bildern. In der Regel ist es am auffälligsten in sich schnell bewegenden Szenen, wo es einen großen Unterschied zwischen einem Bild und dem nächsten gibt.
Während Vsync aus zu Tearing führt, hat es den Vorteil, dass ein Bild an das Display gesendet wird, sobald es fertig gerendert ist, für eine niedrige Latenzzeit zwischen der GPU und dem Display. Behalten Sie das für später im Hinterkopf.
Vsync ein
Die alternative Art, ein Bild anzuzeigen, ist mit Vsync ein. In diesem Fall sendet die GPU das neue Bild nicht sofort an die Anzeige, sondern legt jedes gerenderte Bild in einem Puffer ab. Der erste Puffer wird verwendet, um das Bild zu speichern, an dem gerade gearbeitet wird, und der zweite Puffer wird verwendet, um das Bild zu speichern, das gerade auf dem Bildschirm angezeigt wird. Während der Auffrischung wird der zweite Puffer zu keinem Zeitpunkt aktualisiert, so dass auf dem Bildschirm nur die Daten eines vollständig gerenderten Bildes angezeigt werden und es nicht zu einem Tearing durch eine Aktualisierung in der Mitte der Auffrischung kommt.
Vsync eingeschaltet, ein genauerer Blick
Der einzige Punkt, an dem der zweite Puffer aktualisiert wird, ist zwischen den Auffrischungen. Um dies zu gewährleisten, wartet die GPU nach Abschluss des Renderings eines Bildes, bis die Anzeige kurz vor der Aktualisierung steht. Dann mischt sie die Puffer, beginnt mit dem Rendering eines neuen Bildes und der Vorgang wiederholt sich. Manchmal kann der Prozess mehrere Puffer umfassen, bevor ein Bild den Bildschirm erreicht, aber das ist der allgemeine Kern der Funktionsweise von Vsync.
Wenn Ihre GPU zu langsam ist, um ein Bild zu rendern… kommt es zu Stottern
Es gibt zwei Probleme mit Vsync. Erstens, wenn die Rendering-Rate Ihres Grafikprozessors zu langsam ist, um mit der Bildwiederholfrequenz des Bildschirms Schritt zu halten – sagen wir, er ist nur in der Lage, mit 40 FPS auf einem 60-Hz-Bildschirm zu rendern – dann wird der Grafikprozessor nicht rechtzeitig ein Vollbild rendern, um den Beginn der Bildwiederholfrequenz des Bildschirms zu erreichen, so dass ein Bild wiederholt wird. Dies führt zu Stottern, da einige Bilder nur einmal angezeigt werden, während andere zweimal angezeigt werden.
Vsync eingeschaltet: 60Hz-Display, 200 FPS
Das zweite Problem tritt auf, wenn Ihr Grafikprozessor sehr schnell ist und problemlos ein Bild innerhalb des Aktualisierungsintervalls darstellen kann. Nehmen wir an, sie kann mit 200 FPS rendern und alle 5 ms ein neues Bild erzeugen, nur dass Sie einen 60-Hz-Bildschirm mit einem 16,7 ms langen Bildwiederholintervall verwenden.
Wenn Vsync eingeschaltet ist, wird Ihr Grafikprozessor das nächste Bild, das angezeigt werden soll, in 5 ms fertigstellen und dann 11,7 ms warten, bevor er das Bild an den zweiten Puffer sendet, damit es auf dem Monitor angezeigt wird, und mit dem nächsten Bild beginnt. Das ist der Grund, warum bei aktiviertem Vsync die höchste Bildwiederholrate mit der Bildwiederholrate des Monitors übereinstimmt, da der Grafikprozessor im Wesentlichen darauf festgelegt ist, nicht schneller als die Bildwiederholrate zu rendern.
An diesem Punkt gibt es eine Menge Verwirrung.
Wir hören oft Dinge wie: „Die GPU mit Vsync an die Bildwiederholfrequenz meines Monitors zu binden, ist großartig, denn wenn sie schneller als die Bildwiederholfrequenz rendert, sind diese Frames verschwendet, weil der Monitor sie nicht anzeigen kann, und alles, was ich bekomme, ist Tearing“. Viele Leute verweisen auf die Energieeinsparungen durch die Verwendung von Vsync: Ihr Grafikprozessor muss nicht so hart arbeiten, es gibt keinen Vorteil, wenn die Bildwiederholrate höher ist als die Bildwiederholrate des Monitors, also laufen Sie mit festen FPS und sparen Sie etwas Energie.
Wir können verstehen, warum die Leute zu dieser Schlussfolgerung kommen, und da ist auch etwas Wahres dran, aber im Allgemeinen ist es nicht korrekt. Der Grund dafür ist, dass die Zeit, in der die Eingaben verarbeitet werden, und die Zeit, die es dauert, bis diese Eingaben auf dem Bildschirm erscheinen, nicht berücksichtigt werden.
Vsync on einschließlich der Eingaben
Um zu erklären, warum dies der Fall ist, sehen wir uns das Vsync on-Diagramm an, überlagern das Diagramm aber mit den Eingaben von Maus und Tastatur, die normalerweise alle 1 ms erfasst werden. Nehmen wir dasselbe Beispiel, bei dem wir einen Grafikprozessor haben, der in der Lage ist, bei einem 60-Hz-Bildschirm mit 200 FPS zu rendern.
Mit Vsync und einem einfachen Puffersystem beginnt der Grafikprozessor in dieser vereinfachten Erklärung mit dem Rendern eines Bildes, das der Mauseingabe entspricht, sobald er diese Eingabe zum Zeitpunkt 0 erhält. Es dauert dann 5 ms, um das Bild zu rendern, und es wartet weitere 11,7 ms, bevor es an den Anzeigepuffer gesendet wird.
Die Anzeige benötigt dann einige Zeit, um das zu rendernde Bild zu empfangen und die Anzeige Zeile für Zeile mit diesen Informationen zu aktualisieren.
Vsync bei Eingabe
Selbst im besten Fall haben wir es mit einer Verzögerung von mindestens 16,7 ms zwischen der Eingabe und dem Zeitpunkt zu tun, an dem das Display die Ergebnisse dieser Eingabe anzeigt.
Wenn man die Verzögerung bei der Display-Eingabe, die CPU-Verarbeitungszeit usw. berücksichtigt, kann die Latenz zwischen Eingabe und Display-Aktualisierung leicht mehr als 50 ms betragen.
Vsync aus, einschließlich Eingabe, 60Hz-Display, 200 FPS
Werfen wir nun einen Blick auf das Diagramm Vsync aus. Die GPU rendert kontinuierlich, unabhängig davon, wann die Anzeige aktualisiert wird, und benötigt 5 ms, um die Eingabe in ein vollständiges Bild zu verwandeln. Der Bildschirm kann dann sofort mit der Anzeige des neuen Bildes beginnen, auch wenn es sich nur um einen Teil des Bildes handelt. Das Ergebnis ist eine Verkürzung der Latenzzeit zwischen der Eingabe in das Spiel und dem Zeitpunkt, an dem das Display die Ergebnisse dieser Eingabe anzeigen kann, von 16,7 ms auf nur 5 ms. Und es gibt keine zusätzlichen Puffer in realen Implementierungen; es ist so schnell wie das, plus die Eingabeverzögerung Ihres Monitors.
Und das ist es, wo Sie den Vorteil bekommen. In diesem Beispiel reduziert sich bei 200 FPS mit ausgeschaltetem Vsync auf einem 60-Hz-Monitor die Eingangslatenz auf 5 ms, während sie bei eingeschaltetem Vsync mindestens 16,7 ms beträgt, wenn nicht sogar mehr.
Auch wenn der Bildschirm nicht in der Lage ist, alle 200 Bilder pro Sekunde vollständig anzuzeigen, wird das, was der Bildschirm alle 1/60 Sekunde anzeigt, aus einer Eingabe erzeugt, die zeitlich viel näher an diesem Bild liegt.
Dieses Phänomen gilt natürlich auch für Monitore mit hoher Bildwiederholfrequenz. Bei einer Bildwiederholfrequenz von 144 Hz können Sie zum Beispiel viel mehr Bilder pro Sekunde sehen, so dass Sie insgesamt ein flüssigeres und reaktionsschnelleres Erlebnis haben. Aber wenn Sie mit 200 FPS bei ausgeschaltetem Vsync statt mit 144 FPS bei eingeschaltetem Vsync arbeiten, haben Sie immer noch einen Unterschied zwischen 5 ms und mehr als 7 ms an Eingabelatenz.
Wenn wir jetzt von Millisekunden-Unterschieden sprechen, fragen Sie sich wahrscheinlich, ob Sie diesen Unterschied in Spielen tatsächlich bemerken können.
Abhängig von der Art des Spiels, das Sie spielen, kann der Unterschied von sehr auffällig bis hin zu überhaupt keinem Unterschied sein. Ein schnelles Spiel wie CS: GO, das mit 400 FPS auf einem 60-Hz-Monitor läuft, mit einer Eingangslatenz von bestenfalls 2,5 ms, wird sich deutlich reaktionsschneller anfühlen, als wenn Sie das gleiche Spiel mit 60 FPS und einer Latenz von 16,7 ms (oder mehr) spielen.
In beiden Fällen zeigt der Bildschirm nur 60 Mal pro Sekunde ein neues Bild an, so dass es sich nicht so flüssig anfühlt wie auf einem 144-Hz- oder 240-Hz-Bildschirm. Aber der Unterschied in der Eingabe-Latenzzeit ist enorm; wenn Sie mit 400 FPS arbeiten, können Sie Ihre Eingaben fast 7 Mal schneller auf den Bildschirm bringen, wenn nicht sogar noch schneller. Probieren Sie es selbst aus und Sie werden den Unterschied in der Reaktionsfähigkeit spüren.
Und wir haben diese Erklärung nicht einfach aus dem Nichts herausgezogen, denn Nvidia kennt die Grenzen von Vsync in Bezug auf die Eingabelatenz, weshalb sie eine Alternative namens Fast Sync anbieten (AMDs Alternative heißt Enhanced Sync). Diese Technik der Bildschirmsynchronisation ist wie eine Kombination aus Vsync ein und Vsync aus, die das Beste aus beiden Welten bietet.
Fast Sync funktioniert, indem ein zusätzlicher Puffer in die Vsync ein-Pipeline eingefügt wird, der als letzter gerenderter Puffer bezeichnet wird. Dadurch kann die GPU das Rendern neuer Bilder in den hinteren Puffer fortsetzen und nach Abschluss in den zuletzt gerenderten Puffer übergehen. Bei einer Aktualisierung des Bildschirms wird der zuletzt gerenderte Puffer in den vorderen Puffer verschoben, auf den der Bildschirm zugreift.
Fast Sync / Enhanced Sync
Der Vorteil ist, dass der Grafikprozessor nach Abschluss eines Bildes nicht mehr auf die Aktualisierung des Bildschirms wartet, wie es bei Vsync on der Fall ist. Stattdessen rendert der Grafikprozessor weiterhin Frames, so dass, wenn die Anzeige zu Beginn der Auffrischungsperiode auf ein Frame zugreift, dieses Frame näher am Auffrischungsfenster gerendert wurde. Dadurch wird die Eingabe-Latenzzeit verringert. Anders als bei deaktiviertem Vsync liefert Fast Sync jedoch zu Beginn jeder Auffrischung ein fertiges Bild an den Bildschirm, anstatt das Bild einfach sofort an den Bildschirm zu übertragen, und genau diese Technik verhindert Tearing.
Fast Sync funktioniert nur, wenn die Bildwiederholrate höher ist als die Auffrischungsrate des Bildschirms, aber es sorgt für ein reaktionsschnelleres Spielerlebnis ohne Tearing. Und natürlich hat AMD ein Äquivalent namens Enhanced Sync.
Hoffentlich hat diese Erklärung einige Ihrer Fragen darüber geklärt, warum das Ausführen eines Spiels oberhalb der maximalen Bildwiederholrate Ihres Monitors ein reaktionsschnelleres Spielerlebnis bietet und warum die Möglichkeit, Spiele mit höheren Bildwiederholraten auszuführen, immer von Vorteil ist, selbst wenn es den Anschein hat, dass Ihr Monitor dies nicht nutzen kann.
Eine letzte Anmerkung: Wir haben hier nicht über adaptive Sync-Technologien wie G-Sync und FreeSync gesprochen, und das liegt daran, dass wir hauptsächlich über das Ausführen von Spielen oberhalb der maximalen Bildwiederholrate gesprochen haben, wo adaptive Sync nicht anwendbar ist. Es gibt viele verschiedene Synchronisierungsmethoden, aber adaptive Sync unterscheidet sich stark von Vsync und Fast Sync, über die wir gesprochen haben, und ist zumindest für diese Diskussion nicht wirklich relevant.
Weiter lesen
- Die besten Gaming-Monitore
- FreeSync 2 erklärt
- Die besten Grafikkarten 2018
Einkaufskürzungen
- Radeon RX 570 auf Amazon, Newegg
- Radeon RX 580 auf Amazon, Newegg
- GeForce GTX 1060 6GB auf Amazon
- GeForce GTX 1070 Ti auf Amazon, Newegg
- GeForce RTX 2070 auf Amazon, Newegg
- GeForce RTX 2080 auf Amazon, Newegg
- GeForce RTX 2080 Ti auf Amazon, Newegg
Masthead credit: Photo by Jakob Owens