Stottern und Microruckler!

hank91

Banned
Registriert
Juni 2015
Beiträge
417
Liebe Gemeinde,
Wie schon öfters im Form besprochen bin ich auch von diesem komischen lag/microrucklern betroffen.
60 fps konstant läuft alles butterweich aber sobald ich auf 58-59 komme fängt es an zu stottern. Hab im Forum keine Problemlösung gefunden vielleicht gibt es auch keine aber vielleicht weiß einer von euch schon etwas.
Viele Jahre War ich davon nicht betroffen, dann habe ich mir ein komplett neues System zugelegt und jetzt habe ich den Mist.

I5 4690k
Gigabyte z97 sniper
2133 mhz g.skill trident x 16 GB
Cruxial 100 ssd 250 GB
Bei quiet straight Power 600 Watt
Palit gtx 970 jetstream

Wisst ihr weiter ?
 
V-Sync mit Dual-buffer an?
 
Vsync immer an über die anwendung
Ergänzung ()

In der nvidia systemsteuerung alles auf anwendungsgesteuert
 
Das ist Typisch für V-Sync mit dualbuffer.

Hast du theoretisch über 60 FPS, hast du mit VSync eine Frametime von 16,66 ms. Jetzt dauert ein Frame mal länger. Ohne V-Sync ist das kein Problem, da wäre die Frametime z.B. einmal kurz 20 ms. Mit VSync aber bricht die Frametime auf 33,33 ms ein. Verdoppelt sich also, da die Frametime immer ein vielfaches der Refreshrate sein muss. Und das spürtst du als Ruckler.

Lösungen

a) Grafik settings runter, bis du immer über 60 FPS bist.
b) Bei spielen, die das unterstützen tripple-Buffer aktivieren. (erhöht aber den Inputlag)
c) einen Framelimiter statt VSync nutzen
d) Einen Monitor mit G-Sync kaufen.
 
59 FPS ruckeln auf nem 60 Hz Monitor technisch bedingt. Genau deswegen gibt es ja G-Sync und Free sync. Allerdings mag ich bezweifeln, dass dir das sofort als stottern auffällt. Um den einen Frame mit 33,33 ms zu erkennen, musst du schon ganz genau drauf achten.
Der Punkt ist nunmal, dass ein 60 Hz Monitor nur alle 16,66 ms ein Bild ausgeben kann. Du kannst Frames also nur einfach, doppelt oder dreifach anzeigen, sprich 60, 30 und 20 FPS sind die einzig darstellbaren Frameraten. Alles dazwischen wird beim Triple Buffering durch einen schnellen Wechsel erzeugt.

Triple Buffering: Wenn du Frameraten zwischen 30 und 60 FPS erreichst, werden abwechseln Frames mit 16,66 ms und 33,33 ms ausgegeben, wodurch du im Schnitt auf z.B. 45 FPS kommen kannst. Je näher du bei 60 FPS bist, desto größer der Anteil der 16,66 ms Frames, je näher bei 30 FPS, desto größer der Anteil an 33,33 ms Frames.
Man hat ganz leichtes microruckeln, das wohl den wenigsten auffällt. Das Prinzip ist im Grundsatz vergleichbar mit der Pulsweitenmodulation in der Elektrotechnik.

Double Buffering: Wenn du Frameraten zwischen 30 und 60 FPS erreichst, werden die FPS sofort auf konstante 30 FPS, also 33,33 ms begrenzt. Kann also gut sein, dass die FPS so ~10 Frames lange bei 33,33 ms bleiben, auch wenn nur ein Frame nicht die 16,66 ms marke erreicht hat, spich wenn du nur kurz unter 60 FPS kommst, hast du sofort 30 FPS und das merkt man sehr deutlich. Wenn sich dein FPS zähler aber nur 1x pro sekunde aktualisiert, dann wirst der davon meist nicht viel mitbekommen, und zeigt irgend nen Unsinn an.



Schlussfolgerung: Höchstwahrscheinlich ist bei dir Double Buffering aktiv.
Du musst also zusehen, dass du Triple Buffering aktivieren kannst.

- Meistens funktioniert das, wenn du in den (Randlosen) Fenstermodus schaltest.
- Wenn du mit ALT+TAB aus dem Spiel rein und wieder raus wechselst.
- Wenn du Vsync im Spiel aus und im Treiber einschaltest.
- Wenn du Vsync + Triple buffering über das Tool "d3doverrider" erzwingst.



Nilson schrieb:
Das ist Typisch für V-Sync mit dualbuffer.

Hast du theoretisch über 60 FPS, hast du mit VSync eine Frametime von 16,66 ms. Jetzt dauert ein Frame mal länger. Ohne V-Sync ist das kein Problem, da wäre die Frametime z.B. einmal kurz 20 ms. Mit VSync aber bricht die Frametime auf 33,33 ms ein. Verdoppelt sich also, da die Frametime immer ein vielfaches der Refreshrate sein muss. Und das spürtst du als Ruckler.

b) Bei spielen, die das unterstützen tripple-Buffer aktivieren. (erhöht aber den Inputlag)
c) einen Framelimiter statt VSync nutzen

Nicht ganz, ein Framelimiter bingt gar nichts. Erst, wenn die FPS mit dem Monitor synchron laufen, dann ist es flüssig. Was bringen mir konstant 16,66 ms Frametimes durch den FPS limitier, wenn sie nicht zeitlich synchron zu dem 16,66 ms des Monitors laufen. Wenn sie irgendwo dazwischen sind, dann hast du wieder genauso Tearing und ruckeln.
Und genauso wenig verhindert Triple Buffering, dass man 33,33 ms Frames hat. Triple buffering erzeugt Frameraten nur durch den schnellen Wechsel zwischen 16,66 ms und 33,33 ms, während Double Buffering entweder konstant 16,66 ms oder konstant 33,33 ms ausgibt. Ein schneller Wechsel der Frametimes von Frame zu Frame ist mit Double Buffering nicht möglich.
 
Zuletzt bearbeitet von einem Moderator:
Ok sehr interessant ich werde es dann gleich mal testen Danke schon mal vorab
 
Zurück
Oben