Ego-shooter Problem

  • Hi,


    Ich besitze den Iiyama 481s und eine ti4200. Ich zocke in einem Clan einen alten Mod für UT. Nun habe ich ein Problem. Wenn ich mit 60 HZ zocke und der Vsync an ist, fällt die Framerate unter 60 (55 oder so). Da der Vsync an ist habe ich das Gefühl es läzft unsauber. Da er ja bei der Framezahl zwischen 30 und 60 hin undherschaltet. Mache ich den Vsync aus bekomme ich ganz übele Bildüberlagerungen (Verzerrungen, Ausgerissenen Ecken, usw) und habe so um die 90 FPS. Mit 75 HZ wird das Problem ein wenig besser, da ich dann natürlich 75 buz 37,5 Bilder habe beim Umschalten, trotzdem merkt man es im Spiel. Mache ich den Vsync aus kommen eben wieder diese Bildfehler.


    Ein Kollege im Clan besitzt eine Ati 9800 Pro und eien 17 Zoll TFT welcher über analog angeschlossen ist. Er spielt ohne Vsync und mein bei ihm sei das Bild einwandfrei. Obwohl er mit 120 und mehr Frames eigentlichdie selben Problem haben müsste. Ich kann mir eigentlich nicht vorstellen, das es am Analogen Anschluss liegt.


    abe dann mal AA und AF in der höchstmöglichen Stufe angemacht und Vsync off. Da hatte ich keine oder zumindest keine sichtbaren Bildfehler mehr. Allerdinsgschwankten die Frameraten ziemlich stark zwischen 15 und 35 und es war natürlich auch nicht spielbar.


    Gibt es eine Möglichkeit bei eingeschaltetem Vsync die Bildrate auf z.B. 30 FPS einzufrieren oder eben 37,5 bei 75 HZ. Eventuell ein Tool mit dem ich versuchen kann bei ausgeschaltetem Vsync die Bildwiederholrate bei 50 FPS zuz beschränken.


    Komsicherwiese fällt mir das Phänomen nur bei Egoshootern auf. Bei Trackmania z.B. oder anderen Rennspielen wie DTM2 oder Colin4 garnicht. Vielleicht haben die ja einen eingebauten frame limiter wie GTA3?

  • Hi Golden Gun,


    Die Probleme haben nichts mit der Anschluß-Art (Analog oder Digital) zu tun.


    Nun ist die ATI 9800 Pro deutlich schneller als eine ti4200. Eigentlich könnte Dein Freund getrost vSync anschalten, wahrscheinlich ist sein System schnell genug, so daß es keine Frame-Raten Einbrüche mehr unter 60 Hz haben wird.


    Mit vSync=off hast Du eigentlich immer grundsätzlich Tearing und ein mehr oder weniger ausgeprägtes, leichtes Ruckeln. Wie stark diese Effekte sichtbar werden, ist jedoch sehr situationsabhängig und nicht einfach vorherzusagen. Bei sehr hohen oder sehr niedrigen Frame-Raten sind die Effekte oftmals weniger auffällig. Aber niemals ganz weg. Auch bei Deinem Freund müssten die Probleme leicht vorhanden sein, allerdings vielleicht nicht leicht zu sehen.


    Mit vSync=on hast Du niemals Tearing. Ruckeln hast Du dann, wenn die Frame-Rate unter die Vertikalfrequenz fällt. Wenn Dein System schnell genug ist (oder wenn Du die Grafikeinstellungen im Spiel weit genug herunterschrauben kannst), so daß dies niemals passiert, hast Du mit vSync=on stets perfekt flüssige Animation. (Vorausgesetzt, der TFT setzt das intern auch so um. Aber das ist wieder ein ganz anderes Thema. Nur soviel dazu: Die meisten TFT's machen hier keine oder nur wenig Probleme, wenn man sie mit 60 Hz betreibt)


    Ein Tool welches die Bildrate einfriert, kenne ich leider nicht.


    Viele Grüße
    Wilfried

  • Hi, leider sind die Frameraten nicht stabil. Wenn ich den Vsync aus mache habe ich des öfteren Schwankungen zwischen 90 und 35 Frames. Und bei Vsync an fällt die Framerate komsicherweise auch in Bereichen, wo ich ohne Vsync 70-80 Frames habe unter 60 (55). Werde im nächsten War mal ohe Vsync spielen, habe mal ein bisschen getestet und die Animationen sind ohne Vsync wesentlich flüssiger. Spiel normalerweise auch mnit Vsync an. Was mich wundert dass in diesem Fall 75 HZ besser zum spielen sind als 60 HZ. IN UT2003 habe ich mit 75 HZ kaum was erkennen können und musste auf 60 HZ gehen. Hier ist es nun umgekehrt. Die 75 HZ verändern nichts an der Bildqualität sind dafür aber wesentlich flüssiger, wenn auch nicht wie ohne Vsync. Naja muss ich eben mit dem Tearing leben.


    Aber es wundert mich schon das der halbe Clan ohen Vsync spielt und nichts sieht. Ich hatee soghar auf meinem 17 Zoll CRT Tearingfehler bei so was. An 110 Hz mit Vsync on Denk.

  • Zitat

    Original von Golden Gun
    Hi, leider sind die Frameraten nicht stabil. Wenn ich den Vsync aus mache habe ich des öfteren Schwankungen zwischen 90 und 35 Frames. Und bei Vsync an fällt die Framerate komsicherweise auch in Bereichen, wo ich ohne Vsync 70-80 Frames habe unter 60 (55).


    Das mit V-Sync On die Frameraten fallen ist so ungewöhnlich nicht ;) Wenn das Display mit 60Hz läuft und V-Sync eingeschalten ist, können nicht nur max. 60 Bilder in der Sekunde vom Display (60Hz) angezeigt werden, sondern die Grafikkarte selbst gibt nur max. 60 Frames / Sek. aus, da sie ja durch V-Sync On an die 60Hz Bildwiederholfrequenz vom Display gekoppelt ist. Wenn die Grafikkarte genug Power hat das bei Spiel X die max. Bildanzahl von 60 pro Sek. gehalten werden kann, dann hat man ein rukelfreies Bild mit saubern Animationen und NULL Tearig. Die Grafikkarte zeigt dabei nacheinander die Bilder an und wartet dabei immer bis ein Bild vollständig angezeigt wurde bevor das nächste Bild angezeigt wird.


    Ist V-Sync ausgeschalten, berechnet die Grafikkarte so viele Bilder in der Sek. wie sie eben schafft, ist ja nicht mehr an die 60Hz vom Display gekoppelt, da aber das Display immer noch "nur" 60 Bilder in der Sek. (60Hz) anzeigen kann, aber mehr Bilder von der Grafikkarte kommen, wird trotz das ein Bild noch nicht vollständig angezeigt ist, schon das nächste in dein Bildspeicher geschrieben und so kommt es das dann ein Teil aus Bild 1 und ein Teil aus Bild 2 zusammen auf dem Displays angezeigt wird = Tearing.

    Dieser Sachverhalt gilt übrigens nicht nur bei Displays, sondern generell, also auch bei CRTs.


    Zitat

    Ich hatee soghar auf meinem 17 Zoll CRT Tearingfehler bei so was. An 110 Hz mit Vsync on Denk.


    Das kann nicht sein, bei V-Sync On kommt es zu keinem Tearing.

  • Da habe ich mich wohl schlecht ausgedrückt.


    Ich meinte.


    Ich habe sogar auf meinem 17 Zoll CRT Tearing gehabt, wenn ich den Vsync ausgemacht habe.


    Und die beste Qualität und flüssige darstellung hatte ich mit 110 HZ und Vsync an. Deshalb Träume ich davon ;).


    TFT mit 100 HZ und schon gibt es kein Problem mehr ;)

  • Zitat

    Original von Golden Gun
    TFT mit 100 HZ und schon gibt es kein Problem mehr ;)


    Bei einem Display das mit 100Hz läuft, V-Sync On ist, aber die Grafikkarte bei Spiel X die 100 Bilder/Sek nicht konstant halten kann, hat man ruckeln und bei V-Sync Off kommt es zu Tearing...


    Besser wäre einen Grafikkarte mit genug Power bei V-Sync On, die 60 Bilder/Sek. bei Spiel X mit einem Displays das mit 60Hz läuft konstant halten kann, kein Ruckeln, kein Taering :)

  • Ahoi Golden Gun


    Denke daran das die Anzahl der angezeigten Bilder bei einem TFT von der Responsezeit des Panels und nicht von HZ Zahl abhängt.


    Grüße


    Seebaer

  • Aloha SeeBaer.


    Das glaube ich nicht Tim.


    Dann schliert es eben bei 60 Bildern, wenn technisch von den Pixeln (25 ms) nur 40 möglich sidn. Ach keine Ahnung.


    Das mit den 100 Hz meinte ich na nur, weil dann die 2te Stufe der Darstellung 50 Bilder wären. Das schafft meine Graka in 95% der Fälle. Somnit müsste man dann wesentlich flüssiger sein als mit 60 HZ wo dann auf 30 HZ runtergetaktet wird ;).


    Och Mensch aben den alle hier im Forum eine 6800 GT die alle Spiele in 1280*1024 bei 60 HZ ohne Frameeinbrüche darstellen können.


    Warum kann den bei Vsync (60 HZ) nicht einfach bei jedem verdammten Vsybc Signal geschaut werden, aha Bild da also weiter gehts, kein Bild eben warten. Dann könnte man doch auch 55 oder 48 Frames sauber darstellen. verdammt. Oder würde es dann noch unrunder wirken?

    Einmal editiert, zuletzt von Golden Gun ()

  • Hi Golden Gun,


    Was Du beschreibst (bei jedem vSync Signal schauen: "aha Bild da also gehts weiter, kein Bild eben warten") ist doch genau das was vSync=on bewirkt...


    Wenn ein Seitenwechsel zu einem anderen Zeitpunkt als während der vertikalen Rücklauf-Phase ausgeführt wird, gibt's logischerweise Tearing, da dann ja gerade das Bild wiedergegeben wird. Also gibt's zur definitiven Vermeidung von Tearing keine andere Möglichkeit als eben vSync=on.


    Eine denkbare sinnvolle Möglichkeit wäre, vSync sozusagen automatisch zu steuern:


    Wenn die Frame-Rate hoch genug ist, immer nur beim vertikalen Rücklauf Seitenwechsel ausführen. Wenn sie nicht ausreicht, um in jedem Bildzyklus ein neues Bild fertigzubekommen, wird vSync automatisch so lange deaktiviert, bis es wieder reicht. (Präzise bedeutet das: Wenn seit dem letzten Seitenwechsel kein vSync-Impuls kam, wird bis zum nächsten vSync-Impuls gewartet)


    Vielleicht wird irgendwann ein Grafikkarten-Hersteller eine solche Option in den Treiber-Einstellungen bieten. Sinnvoll wär's jedenfalls. Wahrscheinlich hat nur noch niemand daran gedacht daß so etwas nützlich sein könnte.


    Edit: Natürlich würde man mit einer solchen Steuerung Tearing in Kauf nehmen (nämlich genau dann, wenn die Frame-Rate nicht mehr für ein Bild pro Vertikalzyklus ausreicht). Aber man würde sozusagen das Beste aus beiden Welten (vSync=on oder off) kombinieren: Wenn die Performance gut genug ist, hat man perfekt flüssige tearing-freie Animation wie bei vSync=on, wenn sie mal doch nicht ausreicht muß man trotzdem nicht unter den drastischen Framedrops leiden, die man mit vSync=on hätte.


    Viele Grüße
    Wilfried

  • wwelti.


    Ich dachte und habe auch schon irgendwo gelesen das bei Vsync an nur teiler von der HZ-Zahl als Framerate möglich sind. Also wenn man unter 60 Bilder fällt werden nur noch 30 FPS angezeigt auch wenn mehr berechnet werden? Oder leige ich da jetzt falsch?

  • Hi Golden Gun,


    Das ist "fast" richtig.


    Es stimmt daß mit vSync=on nur Teiler der Vertikalfrequenz als Framerate möglich sind.


    Es werden allerdings bei vSync=on nur soviele Frames berechnet, wie angezeigt werden. Das System ist dann auch oftmals nicht zu 100% ausgelastet.


    Daß mehr Frames berechnet werden, als eigentlich angezeigt werden können, passiert ja eben bei vSync=off. Dann können die einzelnen Frames nicht mehr vollständig angezeigt werden, d.h. die tatsächlich angezeigten Einzelbilder bestehen aus horizontal übereinandergelegten Bruchstücken der berechneten Frames. Das nennt sich dann Tearing.


    Viele Grüße
    Wilfried