Ich hab das schon in zwei anderen Foren gefragt, aber leider ist man sich da auch nicht so wirklich sicher. Über google hab ich auch nichts gefunden. Vermutlich bin ich völlig aufm Holzweg, aber weiß da wer was genaues?
ZitatAlles anzeigenTag,
ich bin mir bei dem Thema nicht so sicher. Nehmen wir mal als Beispiel, man spielt auf einem 60 Hertz Monitor Counterstrike Global Offensive (oder irgendein anderen schnellen Shooter) OHNE VSYNC, einmal mit 89fps, und einmal mit 200fps. Mit 89fps läuft das Spiel sichtbar schlecht (oder auch nicht, ist ja nur ein Rechenbeispiel), es entsteht Tearing und es ist einfach unflüssig. Mit 200fps wirkt das Spiel hingegen ziemlich flüssig. Wieso ist das so? Denn der Monitor kann doch nur 60 Hertz, also 60 Bilder in der Sekunde darstellen, also ist es doch eigentlich egal ob 89fps oder 200fps. Alle fps über 60 müssten doch überflüssig sein.
Also ich hab mir das so gedacht:
Ein 60 Hertz Monitor benötigt 16,6ms für ein Bild (ist ja klar, denn 1000:60 = 16,6). Das bedeutet für das zweite, dritte, vierte e.t.c. Bild braucht er:
16,6ms
33,3ms
49,8ms
.... usw
Also immer ein vielfaches von 16,6ms.
Wenn wir nun mal von den 89fps ausgehen:
Die Grafikkarte braucht in diesem Fall für ein Bild jeweils 11ms (weil 1000:89=11). Und für zwei Bilder dann 22ms und so weiter.
Das bedeutet wenn man nun eine Tabelle macht (links Zeit die der Monitor für ein Bild braucht, und rechts Zeit die die GPU für ein Bild braucht) sieht das so aus (ohne nachkommastellen)
16ms - 11ms
33ms - 22ms
49ms - 33ms
66ms - 44ms
83ms - 56ms
Das heißt für die erste Bilddarstellung nimmt der Monitor das Bild, was die Grafikkarte in den 11ms berechnet hat, usw... Für das dritte Bild würd allerdings eher das Bild verwendet werden, was die Graka als 4. errechnet hat, weil es aktueller als das dritte ist. Würde der Monitor immer nur ein nach dem anderen das Bild benutzen was die Grafikkarte macht, also keine Bilder überspringen, bzw. nicht vollständig darstellen, würde man ja dem Spielgeschehen hinterherhinken, und das immer mehr. Also sieht die Geschichte so aus:
16,6ms - 11,23ms
33,3ms - 22,47ms
49,8ms - 44,9ms
66,4ms - 56,1ms
83,0ms - 78,63ms
Jeder Bildwiderholung ist jetzt also das Bild zugewiesen, was die Grafikkarte am spätesten berechnet hat. Damit man dem Spielgeschehen also möglichst wenig hinterherhinkt.
Wenn man das gleiche mit 200fps macht kommt das raus:
16,6ms - 15ms
33,3ms - 30ms
49,8ms - 45ms
66,4ms - 65ms
83ms - 80ms
Man sieht das bei jeder Bildwiederholung ein aktuelleres Bild genommen wird als es bei 89fps der Fall ist. Also zum Beispiel beim letzten Bild ist die Differenz bei den 89fps bei ca. 5ms, wohingegen sie bei den 200fps nur bei 2ms liegt.
Stimmt das so, oder bin ich aufm Holzweg?
ZitatAlles anzeigenHmm ich glaub da stimmt was nicht. Bei 120fps@60Hz sähe es ja logischerweise so aus:
16,6ms - 16,6ms
33,3ms - 33,3ms
49,8ms - 49,8ms
66,4ms - 66,4ms
83,0ms - 83ms
Es wird also jedes zweite Bild übersprungen. In der Hinsicht dürfte es dann aber keinen Unterschied zwischen 60fps, 120fps, 60*n geben. Und in der Flüssigkeit gibts ja definitiv Unterschiede. Counterstrike mit 60fps ohne Vsync, na gute Nacht da fallen dir die Augen aus. Mit 120fps ists ja hingegen wieder annehmbar.
Aber ich glaub das die Tabellen nicht nur die Smoothness aussagen, sondern auch wann man einen Gegner sieht.
(200fps)
16,6ms - 15ms
33,3ms - 30ms
49,8ms - 45ms
66,4ms - 65ms
83ms - 80ms
(89fps)
16,6ms - 11,23ms
33,3ms - 22,47ms
49,8ms - 44,9ms
66,4ms - 56,1ms
83,0ms - 78,63ms
Als Beispiel:
Ein Gegner kommt in der Zeit 29ms um die Ecke. Bei den 200fps würde man also den Gegner schon bei dem 2. Bild sehen, denn die Grafikkarte hat schon das Bild in der Zeit 30ms dem Monitor gesendet, der Gegner ist also schon zu sehen.
Bei den 89fps hingegen erscheint der Gegner erst bei dem 3. Bild, denn das zweite Bild ist lediglich von der Zeit 22,47ms und der Gegner erscheint aber zur Zeit 29ms. Deswegen kann man hier den Gegner erst ab dem 3. Bild sehen. Das bedeutet im worst-case man sieht den Gegner 16,6ms später. Das würde bedeuten mit einer fps Zahl von einem Vielfachen der Hertz Zahl sieht man den Gegner am frühesten, weil man so ja logischerweise jedes mal wenn der Monitor bereit für ein Bild ist, das aktuellste bekommt und keinen Delay hat. Keine Ahnung ob das stimmt, aber bei z.b. Cs 1.6 gibts ja wirklich Leute die auf 60fps schwören.
Aber nochmal zum anderen Thema:
Wenn man sich mal die zeitlichen Abstände zwischen den Bildern anguckt bei 200fps:
Zwischen dem ersten Bild der Grafikkarte (15ms) und dem zweiten Bild das von der Grafikkarte errechnet wurde (30ms) ist die Differenz 15ms. Und diese Differenz müsste ja aussagen wie flüssig das Spielgeschehen ist. Denn je niedriger die Differenz ist, desto weniger passiert zwischen den Bildern, und desto flüssiger müsste man es wahr nehmen. Wenn man das alles aufaddiert, also jeweils die zeitlichen Differenzen von der GPU errechneten Bildern kommt man auf 65ms.
Bei den 89fps kommt man dann auf 67,4ms.
Das macht allerdings irgendwie keinen Sinn, denn bei 60fps kommt man beispielsweise auf eine Gesamtdifferenz von 66,6ms. Eigentlich müsste dort die Differenz ja höher sein, als bei 89fps.
Leider find ich da über Google auch nicht wirklich was.