CyberdyneSystem schrieb:
@laggy
Wie sieht das ganze mit einem 75Hz Monitor aus? Ich gebe zu das ich moch noch nie richtig mit Vsync beschäftigt habe. Zumindest nicht mit Double/Triple Buffering. Wird bei double Buffering dann auf 35FPS halbiert sobald die frames auf unter 75FPS fallen?
Bei 75 Hz sind es dann 37,5 FPS.
Ist immer die hälfte bzw. ein Drittel, da Double Buffering einfach gesagt nur dafür sorgt, dass Frames doppelt, dreifach oder vierfach angezeigt werden.
Bei Double Buffering wird immer eine Framerate ausgegeben, die sich perfekt auf die Frequenz des Monitors aufteilen lässt. Somit absolut ruckelfreie Wiedergabe.
Mit dem Nachteil, dass keine Zwischenschritte möglich sind. In der Praxis ist Double Buffering daher weniger brauchbar, da man eben von 60 auf 30 FPS fällt oder eben von 75 auf 37,5 je nach Monitor eben.
Beim Triple Buffering dagegen wird diese Beschränkung aufgehoben, indem sämtliche Framerates erzeugt werden, indem die Frametimes auf einem 60 Hz Monitor schnell zwischen 16,66 ms (=60 FPS) und 33,33 ms (=30 FPS = doppelt angezeigte Bilder bzw. ein Frame ist zwei refreshes lang sichtbar) hin und her wechseln. Sprich z.B. 45 FPS werden auf einem 60 Hz Display erzeugt, indem mit jedem Frame zwischen der entsprechenden Frametime von 30 und 60 FPS gewechselt wird.
Die Bildfolge sieht dann bei besagten 45 FPS in etwa so aus: 1,
2,
2, 3,
4,
4, 5,
6,
6, 7,
8,
8, 9,
10,
10, 11,
12,
12, 13,
14,
14, 15 usw....
Die einzelnen Frames haben 16,66 ms, die doppelten fett markierten Frames haben 33,33 ms und werden vom Monitor wie gesagt doppelt angezeigt.
Mit steigender Framerate steigt natürlich auch der Anteil der 16,66 ms Frames, während der Anteil der 33,33 ms Frames sinkt.
Umgekehrt steigt mit sinkender Framerate der Anteil der 33,33 ms Frames, während der Anteil der 16,66 ms Frames sinkt.
Das ganze Konzept ähnelt im übertragenen Sinne einer Pulsweiten-Modulation, falls dir das was sagt.
Sprich, man erzeugt zwischenschritte, zwischen 1 und 0 (hier 30 und 60 FPS) indem man die entsprechenden Anteile beider Werte pro sekunde erhöht oder verringert.
Das führt natürlich zu minimalem Ruckeln. Ist aber dann doch besser, als direkt auf 30 FPS runter zu fallen.
Man hat eben die Wahl:
Vsync Off: Tearing
Vsync Double Buffering: Entweder 20, 30 oder 60 FPS auf nem 60 Hz Monitor
Vsync Triple Buffering: Sämtliche Framerates möglich (bis zur max. Monitor Frequenz) leichtes Ruckeln, wenn man zwischen 30 und 60 FPS oder zwischen 20 und 30 FPS ist.
Lösung: G-Sync oder Free Sync Monitor kaufen.