Adaptive vsync 60 FPS und trotzdem tearing

Erich95

Lt. Junior Grade
Registriert
Apr. 2017
Beiträge
326
Mahlzeit ☺.
Wie schon im Titel erwähnt erhalte ich in SoW zb tearing obwohl mir Afterburner 60fps anzeigt. Nicht immer aber desöfteren.
Nun lässt sich dies verhindern außer dafür die settings zu ändern? Ich kann mir nur vorstellen das es in diesen Momenten nur 59.9 fps sind und ich diese dann weder in den Framerates noch im Frametime Graph angezeigt bekomme.
Würde ein Limit auf 60.1 fps etwas nützen oder würde sich das nur unrund anfühlen da dies ja nicht den 60Hz des Bildschirms entspricht ?
 
War die Lösung bei adaptive vsync nicht, dass man ein fps über dem Ziel einstellen soll? also 61fps in deinem Fall?
 
Meiner Erfahrung nach, muss das FPS-Limit immer etwas unterhalb der max. Sync-Frequenz liegen.
Ich z.B. habe G-Sync bis 100Hz, bei machen Games läuft es mit zu 99FPS rund, manche kappe ich schon bei 90FPS.
Wenn ich die FPS max genau auf 100 stelle, habe ich immer Tearing.
 
Adaptive VSync deaktiviert den Sync doch sobald man unter 60 FPS fällt und dann hat man Tearing. Besser "echtes" VSync nehmen und einen Framelimiter auf 60FPS (oder 59.9) stellen (quasi adaptive Tripplebuffer)

Edit: wobei, hat NV nicht dieses FastSync? Das sollte noch besser sein.
 
60 FPS sind 16,7ms für ein Bild. Vsync bleibt solange aktiv, wie die 16,7ms unterschritten werden.
Wenn aber nun 20ms benötigt werden und dann 13ms, hat man trotzdem 60 FPS, aber Vsync wird wegen den 20ms ausgeschalten und es kommt zu Tearing.
Das Problem sind also "Micro Lags".
 
Das heißt ja es würde etwas bringen die frames auf 61 zu cappen da ich dann ja unter den geförderten 16,7ms bleibe.

Unter 60 zu cappen halte ich für nicht sinnvoll da ja die idee hinter adaptiv ist, vsync zu deaktivieren sobald es unter 60fps fällt.

Wie meinst du das mit den 59.9 würde ich dann nicht permanent im buffer hängen?
 
Weshalb das mit den 59,9 funktioniert hab ich auch noch nicht so ganz raus, aber es wirkt. Wichtig ist eben das man kein Adaptive VSync nimmt denn das dürfte den Sync dann ganz abschalten. Starres VSync + Limiter sorgt halt dafür das der Tripplebuffer nicht genutzt wird sobald man über 60FPS kommen würde, denn das führt dann zu Input-Lag (auf der anderen Seite verhindert der Buffer aber bei unter 60FPS den Rückfall auf starre 30FPS). Noch besser ist aber wie gesagt FastSync, das nutzt den Tripplebuffer immer, aber verwirft veraltete Frames wenn zu viele berechnet werden.
 
Problem an fastsync ist, man braucht erheblich mehr fps als die hz Zahl des Monitors ist oft wird vom doppelten gesprochen sprich 120fps das wird dann,schon,happig.
 
Es gab auch mal Threads zu dem Thema (Und Statements von Nvidia), in dem gesagt wurde, dass man im Treiber Vsync + Gsync aktivieren soll und im Spiel dann vsync aus und auch keinen Framelimiter (ingame) wg. zusätzlichem Input Lag.

Damit fahre ich zurzeit recht gut. Rocket League z.B. läuft stabil auf 165 fps bei meinem 165 hz Gsync Monitor (Acer Predator XB271HUAbmiprz) ohne Tearing und ohne vsync typischen Input Lag.

Genau so hatte ich es bei meinem Freesync Monitor damals auch eingestellt und es lief gut.

Edit:

Und sowohl Gsync, als auch Freesync deaktivieren sich oberhalb der HZ-Frequenz des Monitors. Daher begrenzt man auch die fps immer unterhalb dieser Frequenz (Wenn man denn begrenzen will und nicht vsync aktiviert. Was dann den gleichen Effekt hat).

Edit 2: Hast Du mal nachgeschaut, ob Gsync überhaupt aktiv ist? Kann man im Nvidia Treiber sehen.

Edit 3: Fastsync macht wirklich nur Sinn bei Spielen, die sehr hohe Fps-Zahlen brauchen und wo die Latenz so niedrig wie möglich gehalten werden muss (Quake, CS, usw.)
 
Zuletzt bearbeitet:
FastSync sollte auch bei weniger FPS funktionieren, probiers doch einfach mal aus. Alternativ eben VSync + Limiter, so hatte ich meine AMD Karten immer eingestellt.

@Argeriu: GSync geht aber nur mit passendem Monitor.
 
Bitte "Adaptiven VSync" und "G Sync" nicht durcheinander werfen, das sind unterschiedliche Dinge ;)
Das Problem des TE lässt sich entweder mit "vollständigen" VSync + Tripple-Buffer und damit einhergehenden Input-Lag beheben oder mit der Anschaffung einer vollständig G Sync fähigen Umgebung.
 
Sorry, wer lesen kann.... war grad im Gsync-Modus. Sorry :).
 
Tripple buffering, welches ich im Nvidia control panel aktivieren kann gilt doch aber nur für opengl Spiele oder nicht?
 
Das Video ist schon etwas älter, aber ich denke nicht, dass sich seit dem viel verändert hat.
https://www.youtube.com/watch?v=L07t_mY2LEU

Die Theorieerklärung ist schonmal gut und ab 7:30 gehen die Ergebnisse los.
Ab 14:10 gehen die Videobeispiele los...mit dem Ergebnis, dass Fast-sync *#$& ist ;)
Zumindest zum Zeitpunkt des Tests...Ich meine es gab auch noch ein anderes Video, das die Kombination von G-sync +Fast sync untersucht hat....da gab es ähnliche Probleme mit stotterndem Bild im Fast-sync Bereich.
 
Mich wundern n bissl die Werte die er da hat... eigentlich sollte der Anstieg bei V-Sync kleiner ausfallen... ein Scan hat 17ms... bei Doublebuffering dürfte es aber auch maximal ein bis zwei Scans Verzögerung geben.
 
@Jesterfox
Das Problem wird sein, dass bei V-sync die Grafikkarte aufhört zu rechnen wenn der Back Buffer voll ist und der Frontbuffer noch nicht ausgelesen wurde. Wurde der ausgelesen, werden die Buffer getauscht und entweder, die GPU fängt jetzt erst wieder an über Drawcalls die Daten für den nächsten Frame zu bekommen und loszurechnen oder sie hat gewartet, nutzt aber alte Drawcall Infos für die Berechnung.

Das sind zusätzliche Verzögerungen oder Rechnungen mit alten Daten, die da Probleme machen.

Ich denke es kommt stark auf das Spiel an. In manchen Spielen ist V-sync voll OK und fühlt sich gut an...z.B. Witcher 3

Und in anderen Spielen ist es ein Graus. z.B. Dirt Rally, Witcher 2....
Da spürt man entweder einen großen Input lag oder es kommt zu stottern wie in dem Video bei Fast-sync.

Dein Tipp in #10:" probiers doch einfach mal aus", wäre auch meine Empfehlung.

Mit meinem 144Hz Monitor sehe ich praktisch kein Tearing mehr...da lasse ich im Zweifelsfall alle Synchronisationsmethoden aus.

Edit: warum der Input lag also um mehr als 16.6ms ansteigt, kann ich mir nur mit versautem Framepacing erklären. Für mich ist Framepacing sowieso augenwischender Mist....
Anstatt gleichmäßigen Inhalt ungleichmäßig darzustellen wird ungleichmäßiger Inhalt gleichmäßig dargestellt...dafür aber im Mittel verzögert.
 
Zuletzt bearbeitet:
Also ich meld mich dann auch nochmal.
Derzeitge settings sind vsync+Framecap 60+ Max pre rendered frames auf 1.
Läuft So lange gut wie ich über 60fps bleibe.
Adaptiv war das Problem das ich teils mit 60fps noch tearing hatte. Vllt hilft da ein cap knapp über 60.
 
Zurück
Oben