GTX 1070 + i7-6800k Lags in allen Spielen

@ 0ssi
Nein, die optimale Lösung wäre wie gesagt (und zitiert) ein FPS-Limit knapp unterhalb des Maximums auf Spiele-Engine- oder CPU-Level (wie es der Riva setzt) und ein Setzen von Vsync im Grafikkartentreiber (auch weil diese Option dort verlässlich ist, man nie weiß, ob das ingame Vsync richtig umgesetzt wurde).
Vsync im Treiber zu aktivieren, empfiehlt PCGH übrigens auch für AMD und Freesync.

Ob das Framelimit im AMD-Treiber so viel toller ist (besser als das vom NV-Inspector) darf zumindest bezweifelt werden, da man ja die gleiche Vorgehensweise an den Tag legt (Manipulation des Grafikkartentreibers).

So, nun aber pennen. Sonst überlebe ich den Ostermontag nicht.
 
Davon abgesehen, dass wir am Thema vorbeireden:

In der Nvidia-Systemsteuerung gibt es unter VSYNC die Option "schnell".
Mit dieser hat man praktisch keinen Input-Lag und Tearing wird ausgelöscht indem überzählige Frames verworfen werden.
Nachteil zu einem echten Framelimiter wäre hier lediglich, dass die Karte weiterhin, wie bei VSYNC-off, auf Volllast läuft und entsprechend Hitze/Spulenfiepen/Stromverbrauch erzeugt.

Übrigens kann man ein Framelimit auch ganz einfach im MSI Afterburner, genau genommen im RivaTuner StatisticsServer, vornehmen.
Sogar für jedes Programm separat.
 
Die Option schnell ist dafür gedacht, wenn man doppelt so viele fps wie Hz hat.
RSS erzeugt zudem einen zusätzlichen Inputlag.
 
Die Option schnell ist dafür gedacht, wenn man doppelt so viele fps wie Hz hat.
Es ist völlig Latte ob du doppelt, dreifach oder eineinhalbfache FPS hast. "Schnell" lässt die Karte bezüglich FPS rechnen wie immer und begrenzt sie sowohl nach oben und nach unten nicht.
An dem Bildschirm werden aber dann je nach Synchronisierungsrate nur 60, 100 oder 144 FPS abgegeben.
Input-Lag hat man damit nicht. Kann jeder mal ausprobieren.

Ob der RTSS einen Input-Lag verursacht hängt sicher auch davon ab wie hoch die FPS-Grenze eingestellt wird.
 
Hinter der Option "schnell" versteckt sich Fastsync und das ist in Verbindung mit Gsync (respektive Freesync und AMDs Version "Enhanced Sync") gar nicht so toll .
Denn das funktioniert nur in Situationen gut, in denen die Grafikkarte massiv mehr FPS als benötigt produziert. Das ist aber eher selten (wenn man sich nicht auf ältere Spiele ohne hohe Anforderungen fokussiert oder nur einen Monitor mit 60Hz und ohne VRR besitzt) und auch nicht das, was man mit einem Gsync/Freesync-Monitor möchte, da man mit so hohen FPS den VRR-Bereich automatisch verlassen würde, weder Gsync noch Freesync dann noch funktionieren.

Fastsync besitzt im Zusammenspiel mit VRR im Gegensatz zu Vsync keinerlei Mehrwert.

Edit:
Ich sehe gerade, dass Blurbusters es auch noch mal schön zusammenfasst.
Unlike double buffer V-SYNC, however, Fast Sync won’t lock the framerate to half the maximum refresh rate if it falls below it, but like double buffer V-SYNC, Fast Sync will periodically repeat frames if the FPS is limited below the refresh rate, causing stutter. As such, an FPS limit below the refresh rate should be avoided when possible, and Fast Sync is best used when the framerate can exceed the refresh rate by at least 2x, 3x, or ideally, 5x times.
...
Say the system can maintain an average framerate just above the maximum refresh rate, and instead of an FPS limit being applied to avoid V-SYNC-level input lag, Fast Sync is enabled on top of G-SYNC. In this scenario, G-SYNC is disabled 99% of the time, and Fast Sync, with very few excess frames to work with, not only has more input lag than G-SYNC would at a lower framerate, but it can also introduce uneven frame pacing (due to dropped frames), causing recurring microstutter. Further, even if the framerate could be sustained 5x above the refresh rate, Fast Sync would (at best) only match G-SYNC latency levels, and the uneven frame pacing (while reduced) would still occur.

That’s not to say there aren’t any benefits to Fast Sync over V-SYNC on a standard display (60Hz at 300 FPS, for instance), but pairing Fast Sync with uncapped G-SYNC is effectively a waste of a G-SYNC monitor, and an appropriate FPS limit should always be opted for instead.

Which poses the next question: if uncapped G-SYNC shouldn’t be used with Fast Sync, is there any benefit to using G-SYNC + Fast Sync + FPS limit over G-SYNC + V-SYNC (NVCP) + FPS limit?

The answer is no. In fact, unlike G-SYNC + V-SYNC, Fast Sync remains active near the maximum refresh rate, even inside the G-SYNC range, reserving more frames for itself the higher the native refresh rate is. At 60Hz, it limits the framerate to 59, at 100Hz: 97 FPS, 120Hz: 116 FPS, 144Hz: 138 FPS, 200Hz: 189 FPS, and 240Hz: 224 FPS. This effectively means with G-SYNC + Fast Sync, Fast Sync remains active until it is limited at or below the aforementioned framerates, otherwise, it introduces up to a frame of delay, and causes recurring microstutter. And while G-SYNC + Fast Sync does appear to behave identically to G-SYNC + V-SYNC inside the Minimum Refresh Range (<36 FPS), it’s safe to say that, under regular usage, G-SYNC should not be paired with Fast Sync.
 
Zuletzt bearbeitet:
@ 0ssi Nein, die optimale Lösung wäre wie gesagt (und zitiert) ein FPS-Limit knapp unterhalb des Maximums auf Spiele-Engine- ... und ein Setzen von Vsync im Grafikkartentreiber.
Wie kommst du auf Spiele Engine ? Das Spiel erkennt den Monitor und bietet die Option Frame Limit knapp unterhalb der maximalen Aktualisierungsrate. Somit ist der Monitor die Basis.
V-Sync braucht man dann bei FreeSync/G-Sync nicht noch extra zu aktivieren weil von 30-143 FPS Adaptive Sync arbeitet ! V-Sync ist nur die Notlösung wenn das Spiel kein Limit bietet
und wenn man keinen "externen" Frame Limiter nutzen möchte. Darum wäre die optimale Lösung wenn Nvidia im Treiber einen Frame Limiter anbietet wo man 143 FPS einstellen kann.
 
Ein Spiel, das die Option FPS-Limit anbietet, regelt dieses direkt auf Engine-Ebene, passt die Bildausgabe dann direkt aus sich heraus an und greift nicht auf Treiberebene oder ähnlich ein. Das Spiel erkennt den Monitor übrigens nicht. Es schlägt einfach nur vor, wie viele FPS die Engine maximal liefern soll. Im Idealfall liest es noch vorher die maximalen Hz aus, aber das ist nicht unbedingt notwendig, da bspw. 120FPS nicht zwingend an 120Hz gebunden sind.
Dies ist eine Beschränkung direkt in der Quelle der Daten. Besser geht es nachvollziehbarer Weise nicht.

Du hast die Thematik noch immer nicht verstanden. Vsync wird (und da habe ich mich auch gestern etwas missverständlich im ersten Post ausgedrückt) nicht ausschließlich als Framelimiter eingesetzt (wie ich dann gestern noch erklärte), es verbessert dazu auch noch die Frametimes in Verbindung mit Gsync/Freesync.
To eliminate tearing, G-SYNC + VSYNC is limited to completing a single frame scan per scanout, and it must follow the scanout from top to bottom, without exception. On paper, this can give the impression that G-SYNC + V-SYNC has an increase in latency over the other two methods. However, the delivery of a single, complete frame with G-SYNC + V-SYNC is actually the lowest possible, or neutral speed, and the advantage seen with V-SYNC OFF is the negative reduction in delivery speed, due to its ability to defeat the scanout.

Bottom-line, within its range, G-SYNC + V-SYNC delivers single, tear-free frames to the display the fastest the scanout allows; any faster, and tearing would be introduced.

Ein Framelimit über den Grafikkartentreiber verursacht einen zusätzlichen Inputlag von 2 - 3 1/2 Frames (siehe Messungen von Blurbusters und PCGH). Deswegen gehört das Framelimit nicht in den Grafikkartentreiber. Es sei denn, diese Option geht den Weg, den auch der Rivatuner benutzt (greift nicht in die Grafikberechnungen ein, sondern setzt auf CPU-Ebene an, damit die Grafikkarte unbeeinflusst rechnen kann und keinen zusätzlichen Inputlag generiert).
 
Zuletzt bearbeitet:
Es ist völlig Latte ob du doppelt, dreifach oder eineinhalbfache FPS hast. "Schnell" lässt die Karte bezüglich FPS rechnen wie immer und begrenzt sie sowohl nach oben und nach unten nicht.
An dem Bildschirm werden aber dann je nach Synchronisierungsrate nur 60, 100 oder 144 FPS abgegeben.
Input-Lag hat man damit nicht. Kann jeder mal ausprobieren.

Ob der RTSS einen Input-Lag verursacht hängt sicher auch davon ab wie hoch die FPS-Grenze eingestellt wird.

Mit jeder Art der Synchronisation hast du einen Inputlag, das liegt schon in der Natur der Sache.
Ich hätte auch schreiben soll, dass ein ganzahliges Vielfaches am besten für Fast Sync geeignet ist.
Fast Sync hält ja immer 2 frames im buffer und das wäre mit mindestens den doppelten fps immer gegeben.
 
Vsync wird nicht ausschließlich als Framelimiter eingesetzt, es verbessert dazu auch noch die Frametimes in Verbindung mit Gsync/Freesync.
Wie kommst du darauf ? Mit FreeSync/G-Sync läuft doch bei 30-143FPS gar kein V-Sync also wie soll es etwas verbessern ? Nur bei 144FPS@144Hz läuft V-Sync.
 
Kann es eigentlich sein, dass die Ergebnisse von Blurbusters keinen Sinn ergeben.
Die messen einmal mit Vsync+300fps cap und einmal mit Vsync +60fps cap bei 60Hz.
Dort haben sie aber unterschiedliche Ergebnisse, was aber nicht sein kann.
In beiden Fällen werden die fps durch Vsync begrenzt und es sollten die gleichen Ergebnisse herauskommen.
So sieht es so aus, als wenn der zusätzliche Lag durch ein externes Programm zustande kommt.
 
Ja, müsste eigentlich gleich sein weil in beiden Fällen 60FPS@60Hz. Vielleicht nur eine Messungenauigkeit. Der minimale Lag stimmt zumindest überein also weniger geht nicht mit V-Sync bei 60Hz.
Da Overwatch recht aktuell ist nutzt es vermutlich Triple Buffering also wäre noch ein Spiel bzw. eine Engine mit Double Buffer interessant falls es da Unterschiede beim Input Lag mit V-Sync gibt !?
 
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
 
Zuletzt bearbeitet:
Es gibt aber keine direkte Kommunikation zwischen Monitor und Grafikkarte.
Bei V-Sync nicht aber mit FreeSync/G-Sync laufen FPS und HZ immer synchron. VESA bietet dafür den Standard Adaptive Sync auf den AMD zurückgreift und es als FreeSync vermarktet
aber Nvidia verbaut seine eigene Technik im Monitor und kassiert dafür 150€ extra. Dann sollte man wenigsten im Treiber einen Frame Limiter anbieten denn wenn es keinen im Spiel gibt
hat der Nutzer ein Problem. Entweder ein extra Programm nutzen oder V-Sync aktivieren und Input Lag bekommen. Bei 144Hz zwar kaum spürbar aber trotzdem nur eine Notlösung. :ka:
 
Kommunikation zwischen Gsync/Freesync und Monitor ist gegeben. Nur ist es eben schlecht, wenn die Bilder nicht zeitlich passend ankommen, weil dann ständig irgendwelche Spitzen und Tiefen entstehen, der ganze Vorgang ständig zwischen Extremen hin und her springt.
Stell dir hypothetisch vor, deine Grafikkarte produziert 100fps. 65% davon werden innerhalb einer 1/10 Sekunde abgeschickt, der Rest in den übrigen 9/10. Von den 1/10 kann der Monitor gar nicht alle verarbeiten, Gsync hin oder her. Denn der Monitor benötigt auch Zeit, um die gelieferten Bilder zu "scannen" und darzustellen. Nach diesen 65% schießt es gleich wieder in den Keller.
Gsync/Freesync fangen das natürlich so weitgehend auf, sodass kein Tearing oder starkes Ruckeln entsteht, trotzdem ist dieser schnelle Wechsel recht unangenehm für manchen Betrachter und einfach unsauber.
Besser ist es, wenn die Grafikkarte zumindest versucht (Vsync an), die Bilder halbwegs mit Timing auf den Weg zu bringen und Bilder, die eh nicht vom Monitor angezeigt werden können, gar nicht erst ausliefert. Das normalisiert die Ausgabe und Gsync/Freesync kann viel homogener arbeiten.

Das Framelimit über den Grafikkartentreiber ist und bleibt Murks.
Es gibt diese Möglichkeit ja bereits bei Nvidia, wurde in den Treiber integriert, sonst könnte der Nvidia Inspector diese nicht durch das simple Setzen eines Bits aktivieren. Nur ergibt es kaum bis wenig Sinn, das so zu realisieren, weil er den Inputlag vergrößert und dieser Weg für die Allgemeinheit nicht erste Wahl ist (dann kommen nämlich alle aus den Löchern und rufen "Inputlag! Brenne Nvidia!").

Next up is Nvidia’s FPS limiter, which can be accessed via the third-party “Nvidia Inspector.” Unlike RTSS, it is a driver-level limiter, one further step removed from engine-level.
...
The limiter’s impact on G-SYNC appears to be particularly unforgiving, with a 2 to 3 1/2 frame delay due to an increase in maximums at -2 FPS compared to -10 FPS, meaning -2 FPS with this limiter may not be enough to keep it below the G-SYNC ceiling at all times, and it might be worsened by the Nvidia limiter’s own frame pacing behavior’s effect on G-SYNC functionality.

Needless to say, even if an in-game framerate limiter isn’t available, RTSS only introduces up to 1 frame of delay, which is still preferable to the 2+ frame delay added by Nvidia’s limiter with G-SYNC enabled, and a far superior alternative to the 2-6 frame delay added by uncapped G-SYNC.

Dass AMD diese Möglichkeit leichter zugänglich bietet, ist kein Vorteil, denn dort wird ein ähnlicher Inputlag entstehen, den eigentlich niemand will. Diese Option ist also eher eine PR-Nummer, als eine Hilfe.

Warum beide Hersteller nicht über die CPU gehen, dürfte wohl an Intel liegen. Denn ein Fps-Limit über die CPU bedeutet auch, dass die CPU dadurch künstlich gebremst würde. Eine solche Bremse, implementiert von der Konkurrenz (so wichtig sie auch sein möge), dürfte für reichlich Ärger sorgen.

Deswegen bleibt einfach nur das externe Tool als Mittel der Wahl, bis sich einer traut, das FPS-Limit auf CPU-Ebene in die Grafikkartensoftware zu hämmern.
Glücklicherweise verbreitet sich aber das FPS-Limit in den Spieleoptionen, so dass es zukünftig alltäglicher sein wird, das Limit auf Engine-Ebene setzen zu können.
 
Das Framelimit über den Grafikkartentreiber ist und bleibt Murks.
Ist es nicht genau das Gleiche wie V-Sync ? Also selbst wenn ein Frame Limiter im Treiber den gleichen Input Lag erzeugt so hilft er doch gegen Frameschwankungen und gegen schlechte Frametimes im CPU Limit.
Es gibt bestimmt viele Leute die trotz 144Hz Monitor gerne auf 100FPS begrenzen würden weil sich eine konstante Framerate besser spielt. Gegen Schwankungen und Drops hilft auch kein FreeSync oder G-Sync.
 
Nen framelimit genau auf die maximalen Hertz sollte man ohne Synchronisation immer vermeiden.
Das verschlimmert das tearing ungemein.
Ich spiele zB Rocket League mit nem 150fps Limit und das klappt einwandfrei.
Mit 144fps Limit tearing ohne Ende.
 
Ja weil du genug FPS hast aber angenommen die schwanken ständig zwischen 80-150FPS das spielt sich bei 144Hz nicht wirklich gut. Da würde ein Limit auf 100FPS deutlich helfen.
Man hört ja immer wieder den Mythos FreeSync und G-Sync würde dagegen helfen aber es hilft nur im vergleich zu V-Sync mit Double Buffer was direkt auf 72FPS dropt und ruckelt.
Wenn bei mir die FPS von 144 auf 100 sacken nervt das extrem weil man durch G-Sync und die hohen Hz scheinbar viel empfindlicher auf Frameschwankungen und Drops reagiert !?
 
Ist es nicht genau das Gleiche wie V-Sync ? Also selbst wenn ein Frame Limiter im Treiber den gleichen Input Lag erzeugt so hilft er doch gegen Frameschwankungen und gegen schlechte Frametimes im CPU Limit.
Es gibt bestimmt viele Leute die trotz 144Hz Monitor gerne auf 100FPS begrenzen würden weil sich eine konstante Framerate besser spielt. Gegen Schwankungen und Drops hilft auch kein FreeSync oder G-Sync.

VRR + Vsync erzeugt ja keinen relevanten Inputlag.
VRR + Framelimit, das über den Grafikkartentreiber realisiert wird, schon.
Ideal ist (wie zuvor schon oft zitiert) VRR + Vsync + Framelimit über CPU oder Spiele-Engine, das so gewählt wird, dass man auf jeden Fall im VRR-Bereich bleibt.

Es kommt einfach darauf an, an welcher Stelle das Framelimit ansetzt (Grafikkartentreiber, CPU oder Spiele-Engine).
Und das Gleiche sind Vsync und Framelimit sowieso nicht. Das habe ich ja oben versucht zu erklären. Ein Framelimit alleine erlaubt der Grafikkarte nur eine bestimmte Anzahl an fps zu "erbrechen", ohne Rücksicht auf den Monitor. Ist das Kontingent gefüllt, kommt quasi kein Frame mehr bis die Sekunde voll ist.
Vsync hingegen teilt der Grafikkarte bspw. mit, dass 60 Hz das Ziel sind und deswegen alle "y" ein Bild verschickt werden sollte und die Grafikkarte versucht alles ihr Mögliche, dann auch ein Bild zu übermitteln. Wenn das nicht geht, wird es zuckelig, weil Monitor und Grafikkarte per Vsync keine Absprachen treffen können.
Und hier betreten Gsync/Freesync das Feld und heben diese Schwäche auf.

Konstante fps sind immer angenehmer.
Es ist halt ein Unterschied, ob die fps schwanken, weil die Grafikkarte zu schwach ist, oder ob sie schwanken, weil das fps-Limit schlecht gewählt wurde, man dadurch vielleicht sogar die VRR Obergrenze (ceiling) durchbricht. Gegen Letzteres kann man etwas tun (besseres Limit wählen), beim Ersten helfen Gsync/Freesync. Denn diese kaschieren zumindest Einbrüche etwas durch die variable Synchronisation.
Das bedeutet aber natürlich nicht, dass man nicht merkt, dass man gerade bspw. von 100 auf 35fps gesackt ist. Aber es ist eben deutlich weniger krass und auch der Inputlag bleibt vernachlässigbar, was sonst keine andere Sync-Technik hinbekommt.

Absolut toll wären natürlich immer exakt die selben fps auf hohem Niveau, nur welche Grafikkarte schafft das schon in allen Lebenslagen?
 
Zurück