VSync und FPS

  • Hallo Miteinander,


    ersteinmal Hallo und ein Lob an Prad.de für diese gute Seite über TFT´s.
    Ich habe einen 19" Fujitsu-Siemens C19-4 und war von der Auflösung begeistert. Nur in Spielen hatte ich einen horizontalen Versatz.
    Dank eurer Seite habe ich VSync auf ON gestellt und dieser Versatz ist verschwunden.
    =)
    Allerdings gehen dadurch meine Frameraten auch deutlich nach unten (ich hätte jetzt gerechnet Sie bleiben konstant bei 60 Hz).
    z.b. bei Doom3 von 90 auf 55 FPS (was nicht stört)
    und bei F.E.A.R. von 50 auf 33 Hz, was dann aber in den "Ruckelbereich" führt (>Vorher 5% nun 33%)
    :O
    Kann mich jemand schlau machen?


    fragt
    Mike

  • Lies dir mal diesen Beitrag und die zwei darauf folgenden Beiträge von mir durch. Ich denke da wird verständlich, wo dein Problem seine Ursachen hat.


    Hast du eine Grafikkarte von ATi? Da kann ich dir erklären wie du den Triple Buffer nahezu jedem Spiel aufzwingen kannst :D

  • Quote

    Original von Shoggy
    Lies dir mal diesen Beitrag und die zwei darauf folgenden Beiträge von mir durch. Ich denke da wird verständlich, wo dein Problem seine Ursachen hat.


    Hi Shoggy,


    dem Beitrag nach "handeln" meine Spiele ja vorbildlich.
    Doom mit korrekten 60 Hz, F.E.A.R. mit der Hälfte...
    :D


    Quote

    Hast du eine Grafikkarte von ATi? Da kann ich dir erklären wie du den Triple Buffer nahezu jedem Spiel aufzwingen kannst :D


    Ich habe NVIDIA und daraufhin Tripple Buffer eingeschaltet. Bringt aber kaum Verbesserungen (Doom von 55->58; F.E.A.R 30->31).
    Aber ich habe die Spiele jetzt nicht konkret gespielt, habe das Tearing ja erst heute geändert. 30 Hz sollte eigentlich ein flüssiges spielen ermöglichen (ich glaube ab 25 Hz hat man einen ruckelfreien Eindruck)...

  • Wie das bei nVidia läuft weiss ich nicht. Wenn du das dort einstellen willst sollte für OpenGL sowie Direct3D Vsync und Triple Buffer aktiviert sein. Bei ein paar wenigen Spielen kann man es über die Grafikoptionen einstellen. Bei wiederum anderen muss man es ihnen aufzwingen und da ist halt die Frage, was der nVidia Treiber da taugt bzw. ob er das wirklich ohne Rücksicht auf Verluste erzwingt.


    Wenn das korrekt funktionier solltest du eigentlich einen deutlichen Unterschied festellen können - vor allem bei Szenen in denen die Frames sonst immer eingebrochen sind.

  • Quote

    Original von Shoggy
    Wie das bei nVidia läuft weiss ich nicht, da ist halt die Frage, was der nVidia Treiber da taugt bzw. ob er das wirklich ohne Rücksicht auf Verluste erzwingt.


    Da es bei den Framerates Unterschiede gibt zwischen Triple Buffer an und aus, gehe ich davon aus, das der NVIDIA Treiber das erzwingt.
    Nach Deiner eigenen Aussage kann die FPS aber doch gar nicht über
    60 FPS niausgehen, oder habe ich das nun verstanden miss ?


    Quote


    Wenn das korrekt funktionier solltest du eigentlich einen deutlichen Unterschied festellen können - vor allem bei Szenen in denen die Frames sonst immer eingebrochen sind.


    Wie ich schon schrub, habe ich noch nicht gespielt, es geht hier mehr um die Theorie...


    Gruß
    Mike

  • Vsync bedeutet, dass die vertikale Frequenz des Monitors mit der Bilderrate der Grafikkarte abgeglichen wird. Das sind bei einem TFT in der Regel 60Hz. Es ist also auch richtig, dass du nie über die 60fps kommst, was ja zudem sinnlos wäre da der Monitor sie nicht darstellen kann und du sonst wieder das Tearing (den Versatz) hättest.

  • Tja also so wie ich das sehe hast du folgende Möglichkeiten:


    1.) PC aufrüsten/stärken leisten
    2.) Vsync off und die FPS den Hz am Monitor anpassen (fps_max oder so). Dadurch verschwindet Tearing nicht ganz, aber naja so gut wie.
    3.) ev. an sonstigen Einstellungen rumschrauben (Qualität im Spiel/Treiber oder Tweaks am Spiel/System)
    4.) Keine Hardwarehunrigen Spiele mehr spielen.


    Quote

    Ich habe NVIDIA und daraufhin Tripple Buffer eingeschaltet. Bringt aber kaum Verbesserungen (Doom von 55->58; F.E.A.R 30->31).
    Aber ich habe die Spiele jetzt nicht konkret gespielt, habe das Tearing ja erst heute geändert. 30 Hz sollte eigentlich ein flüssiges spielen ermöglichen (ich glaube ab 25 Hz hat man einen ruckelfreien Eindruck)...


    Das stimmt so nicht ganz. Bei Filmen reichen 25Hz das aus, da diese gezielt auch keine schnellen Bewegungen ausführen, dort wird die Frequenz ja auch verdoppelt und es gibt einen Verwischungseffekt, es gibt auf jedenfall ein paar Tricks dabei. Bei Ego-Shootern am PC braucht man schon seine 60 Hz.


    Kennst du denn schon die FAQ zu Tearing? Ist zwar lange ich empfehle trotzdem alles zu lesen, dann kennst dich aus (spätestens nach dem - sagen wir - 3. mal ;)).

  • Um einmal mehr auf ein totes Pferd einzuprügeln - Mammi, 's Bild reißt! ;)
    Ich habe gerade den Tearingartikel gelesen und es bleiben ein paar Fragen. Bisher hatte ich nie Probleme damit, mein neuester Monitor teart aber was das Zeug hält. Und zwar nicht einfach, sondern bis zu 16-fach, und das in Wellen, die über den Bildschirm laufen. Zudem sind alle Bewegungen in Spielen sehr ruckelig trotz hoher FPS.


    Im Artikel steht, dass Mehrfachtearing nur auftritt, wenn die FPS Zahl höher ist als die Vertikalfrequenz. Ist bei mir aber nicht so, 16*75 Frames wären auch ganz schön viel. Hat das was mit einem sehr unsynchronen Monitor zu tun?


    Und was muss ich genau tun, um das Tearing wieder auf die Mitte des Bildschirmes zu beschränken und die Ruckelei zu beenden? Eine kleine Anleitung würde mir sehr helfen.


    Schließlich: was hat Tearing mit der Maus zu tun? Ich habe kein Problem, Filme mit dem Monitor anzusehen, sowohl mit 25 als auch mit 30 FPS. Auch das Scollen von Bildern mit Hilfe der Tastatur führt nur zu gelegentlichem Tearing. Sobald ich aber mit der Maus Fenster schiebe oder Bilder scrolle zerfällt das Bild extrem. Wie kommt das?

  • Wieso strebst du es an, den Versatz wieder in die Mitte zu bringen wenn du dich der Sache auch vollständig endledigen könntest ?(


    Um den Versatz zu beeinflussen dürfte es ausreichen die FPS zu begrenzen, was bei einigen Spielen über die Config oder einen Konsolenbefehl möglich ist.


    Dass du z.B. im Browser selten etwas merkst liegt wohl daran, dass dieser quasi blockweiße den Inhalt verschiebt und nicht völlig "smooth" Zeile für Zeile.
    Beim Verschieben von Fenstern hast du wiederum das Gegenteil. Dort wird alles schön geglättet verschoben und somit sieht man den Versatz wieder sehr deutlich.

  • Tearing auf dem Windows-Desktop gibt's immer. Das ist normal. Aber mehrfaches Tearing in Spielen ist komisch. Vielleicht ist es auch nur normales Tearing, welches zufälligerweise besonders auffällig wird. Schon mal probiert vSync zu aktivieren? Wenn das nicht hilft kann es schon sein daß es auch am Monitor liegt, was für einen hast Du denn? (Es gibt da ein paar Spezialfälle)


    Du kannst auch mal gucken ob Du in PixPerAn (Flacker-Vollbild) viel Tearing siehst. Wenn ja (und sich währenddem die Lost Frames NICHT erhöhen), ist am Monitor was komisch.


    Viele Grüße
    Wilfried

  • Bei vSync gibts kein Tearing. Interessanterweise begrenzt das nur die obere Framerate, darunter ist alles möglich. Ich dachte, ich bekomme entweder 75 oder 37 Bilder und habe es u.a. deshalb nie angemacht, weil ich selten die 75 erreiche. Liegen die Frameraten zwischen 37 und 75 am aktivierten Triplebuffer?


    Mit deaktivierten vSync habe ich auch bei Frameraten um die 60 Mehrfachtearing, eine Begrenzung hat also keinen Sinn. Und es ist definitiv ein mehrfach zerissenes Bild.


    Beim Monitor handelt es sich um einen "generalüberholten" VP191s, der nebenbei auch deutlich schliert. Könnte es übrigens sein, dass das Ruckeln, das auch bei aktivierten vSync noch auftritt, durch die Schlieren hervorgerufen wird? Mir scheint es, als wenn gerade bei schnellen Bewegungen die Schlieren zu Doppelbildern werden, die allerdings so schnell sind, dass man sie nicht bewusst wahrnehmen kann, und so ein Gefühl von Rucklern entsteht? Bei hellen Bildern empfinde ich nämlich sehr viel weniger Ruckeln als bei dunklen, schlierenanfälligen Bildern.


    Schließlich, bei PixPerAn habe ich etwa alle 3 Sekunden einen Ruckler, ohne dass ich Frames verliere, sofern vSynch aktiviert ist. Allerdings ruckeln im Startbildschirm die Autos auch mal in unregelmäßigen Abständen, ohne dass im kleinen Flackerbild ein Ruckler auftritt. Mit deaktiviertem vSync habe habe ich permanentes Tearing in den oberen 2cm des Bildschirms (beim Flackerbild), zudem stottert das Flackerbild unregelmäßig, teilweise kann es sich gar nicht mehr beruhigen (wenn man das von einem Flackern sagen kann). Die Framerate bleibt bei 75.


    Letztlich hoffe ich den Monitor umtauschen zu können, wenn sich Viewsonic nicht einfach über ihre Garantiebestimmungen hinwegsetzt. Da die Möglichkeit aber derzeit wahrscheinlich ist, muss ich wohl oder übel mit diesem Monitor klarkommen. ;(

  • Erster Vorschlag: stell mal auf 60Hz herunter und experimentiere damit ein wenig herum ob es dann immer noch zu diesem Pseudo-Ruckeln kommt.


    Wenn du nur Vsync verwendest hast du stets eine feste Begrenzung. Dass dir evtl. ein Programm oder Spiel Zwischenwerte anzeigt will ich mal an einem kleinen Beispiel vedeutlichen.


    Mal angenommen wir haben ein Auto, dass nur 37 oder 75km/h fahren kann und ermitteln jeweils aus einem Zeitfenster von 5 Sekunden den Durchschnittswert dann könnte folgendes passieren:


    Ich fahre für zwei Sekunden mit 37km/ und die anderen drei Sekunden mit 75km/h. Der Durchschnitt dieser fünf-sekündigien Messung würde jetzt rund 60km/h betragen, und das obwohl ich die gar nicht fahren kann mit dem Auto :D


    Das hängt also nur an der Art und Weise wie ein Programm bzw. Spiel die durschnittliche Framerate ermittelt. Die können das ja nicht in Echtzeit ausgeben sondern müssen dies auch über einen bestimmten Zeitraum hinweg messen.


    Mit zusätzlich aktiviertem Triple Buffer werden in der Regel sämtliche Framewerte dargestellt. Durch diesen dritten Puffer kommt es nicht mehr zu den zeitlichen Differenzen, die dazu führen, dass die Framerate einbricht.


    Kleiner Nachteil: dieser dritte Puffer zwackt sich weiteren Speicher von der Grafikkarte ab und das Bild erscheint jetzt um zwei Frames verzögert während es bei purem Vsync nur ein Frame ist.
    Da der TFT selbst auch ein Bild zwischenspeichert dürften zumindest etwas empfindlichere Naturen einen leichten Mauslag spühren - ausprobieren kann ich da nur sagen.


    Ich spiel alles mit Vsync + Triple Buffer und habe keine Probleme damit :)

  • Hi Mutte,


    Ja, bei Triplebuffering wird nur die Framerate nach oben begrenzt.


    Allerdings hört sich das alles etwas seltsam an, bei PixPerAn sollte es eigentlich keinen Unterschied machen ob vSync=on oder off (automatische Anpassung). Das liegt allerdings weniger am Monitor sondern eher wieder mal an Treiberproblemen (passiert gelegentlich mit PixPerAn, leider).


    Die regelmäßigen Ruckler ohne Frameverlust hören sich typisch für nicht synchronisiert laufende Displays an.


    Du solltest darauf achten, das Display stets mit 60 Hz zu betreiben, auch wenn 75 Hz möglich wären. Das wird bei Dir möglicherweise einen sehr großen Unterschied in der Bewegungsdarstellung machen (weniger ruckelig, weniger Tearing). Während das jeweilige Spiel oder Testprogramm läuft, solltest Du im OSD des Monitors überprüfen, ob die Vertikalfrequenz tatsächlich bei 60 Hz liegt.


    In eigener Sache zum Thema Triple Buffer: Ich persönlich verwende den grundsätzlich nicht da er zu hakeligerer Bewegung sowie höheren Latenzen führt. Aber es ist Geschmackssache, jeder muß seine eigenen Prioritäten setzen. Immerhin verhindert es die dramatischen Frameraten-Einbrüche wenn die Vertikalfrequenz von der Framerate unterschritten wird.


    Viele Grüße
    Wilfried