Tearing trotz V-Sync?

  • So weit ich das begreife, gibt es auch keinen CRT garantiert ohne Tearing.


    Am CRT fällt Tearing aber weniger auf wegen den Nachleuchteigenschaften.


    VSync bewirkt ja a.f.a.i.k. nur, wenn die Grafikausgabe schneller erfolgt als die Bildwiederholfrequenz am Monitor, daß die Bilder erst dann an den Monitor weitergegeben werden, wenn das vorige Bild komplett dargestellt wurde.


    Tearing kann aber auch entstehen, wenn die Bildausgabe deutlich unter der Bildwiederholfrequenz liegt, also wenn der Monitor aufgrund seiner eingestellten Bildwiederholfrequenz eine bestimmte Anzahl von Bildern in der Sekunde erwartet, aber nur weniger Bilder geliefert werden können (wenn der PC zu schwach ist für z.B. mindestens 30 Bilder in der Sekunde).


    Tearing kann nach meinem Verständnis nur dann komplett vermieden werden, wenn immer und unter jeder Bedingung exakt die eingestellte Bildwiederholfrequenz am Monitor auch mit der tatsächlich gelieferten Anzahl der Bilder übereinstimmt.


    Man möge mich verbessern, wenn ich hier was falsches behaupte, ich lerne gern dazu.


    MfG


    Bigtower

    Sehen und Erkennen ist zweierlei.

  • Hallo zusammen,


    Da haben wir mal wieder das Verwirrungsthema Nr.1, nämlich Tearing...


    Das Problem mit Tearing ist: Zwar ist das prinzipiell ein sehr einfacher Effekt, aber dummerweise ist er in der Praxis manchmal schwer zu greifen:
    - Es gibt mehrere verschiedene mögliche Ursachen für Tearing, die auch gleichzeitig auftreten können.
    - Es ist _wirklich_ nicht immer leicht, Tearing zu erkennen. Das scheint (wie bei vielem) auch ein gutes Stück vom Betrachter abzuhängen, aber es gibt Situationen, in denen das Tearing wirklich kaum zu sehen ist, obwohl es definitiv vorhanden ist.
    - Tearing ist ein Synchronisierungsproblem. Das heißt, es tritt teilweise nur dann auf, wenn "es Lust dazu hat". Auch ohne vSync können die verschiedenen Bildaufbauprozesse zufälligerweise fast synchron laufen, so daß das Tearing sich rar macht. Es genügt jedoch nur eine winzige Änderung (z.B. andere Detailstufe o.ä.), und auf einmal ist es wirklich nervig und deutlich sichtbar. Leicht könnte man dann auf die Idee kommen, daß diese Detailstufenänderung der Grund für das Tearing ist.


    Gehen wir mal die Kette von vorn bis hinten durch.


    Das erste Glied der Kette ist das Spiel selbst. Es erzeugt Bewegung, indem periodisch neue Bilder einer Szene erzeugt und angezeigt werden. Die Verwendung von mehrfacher Pufferung (meist Double-Buffering) ist Standard. Dies alles geschieht meist in Zusammenspiel mit einem 3D-API (DirectX/OpenGL). Dieses ist das zweite Glied der Kette. Das dritte Glied ist der Grafiktreiber, der die Funktionen von DirectX/OpenGL für die Hardware "übersetzt".


    Nun haben sowohl das Spiel, als auch (DirectX/OpenGL) als auch die Treiber weitreichende Einflußmöglichkeiten auf den Bildaufbau. Wenn der Bildwechsel nicht mit dem vertikalen Synchronisationsimpuls der Grafikkarte synchronisiert ist, wird es zwangsweise schon von der Softwareseite her Tearing geben. Auf jeden Fall, und egal was für ein Bildschirm benutzt wird.


    Wir haben also schon hier mögliche Ursachen für Tearing:
    - Falsche Einstellung im Spiel
    - Softwarefehler im Spiel
    - Softwarefehler in DirectX
    - Falsche Einstellung im Treiber
    - Softwarefehler im Treiber


    Aber auch wenn die Software alles richtig macht, ist das noch lange keine Garantie für Tearingfreie Animation. Nun ist die Animation erst auf der Grafikkarte gelandet. Wenn die Grafikkarte z.B. das vSync-Signal nicht korrekt an den Treiber weiterleitet (ok, dürfte wahrscheinlich in der Praxis kaum passieren), wäre das auch wieder ein Grund für Tearing.


    Das Kabel hat normalerweise keinen Einfluß auf das Tearing, egal ob DVI oder Analog. Natürlich können Kabel auch defekt sein, und das kann auch zu lustigen Bildfehlern führen. Jedoch nicht zu Tearing. (Sollten die Synchronisationsimpulse vom Kabel nicht korrekt übertragen werden, hat man gar kein vernünftiges Bild mehr)


    Das letzte Glied der Kette ist der Monitor. Beim CRT ist die Sache relativ einfach: Alles was von der Grafikkarte kommt, wird ohne Verzögerung auf den Phosphor gebracht. Der CRT wird durch die Synchronisationssignale sehr direkt von der Grafikkarte gesteuert. Da die Spannungen im CRT teils recht hoch sind, kann man manche (z.B. einige ältere Festfrequenzmonitore) CRT's deshalb durch falsche Grafikmodi lynchen.


    Wenn also in dem Signal, das von der Grafikkarte kommt, noch kein Tearing drin ist, wird der CRT auch keins dazumachen.


    Anders sieht's beim TFT aus. Soviel ich weiß, puffern die meisten TFT's in einem eigenen, internen "Bildspeicher", bevor sie es ausgeben. Der TFT verwendet die Synchronisationssignale der Grafikkarte nur, um die Bildgeometrie zu erfassen, jedoch nicht, um das Panel anzusteuern.


    In vielen TFT's laufen also zwei unabhängige Prozesse ab:
    - Die "Decodierung" des Signals der Grafikkarte, hierbei werden die Bilder in den Puffer des TFT's geschrieben
    - Die Ansteuerung des TFT-Panels, hierbei werden die Bilder aus dem Puffer ausgelesen und die Displayelemente des Panels entsprechend gesetzt.


    Während die Decodierung zwangsläufig sich an der vom PC her vorgegebenen Vertikalfrequenz orientiert, ist dies bei der Panel-Ansteuerung von Gerät zu Gerät verschieden. Manche TFT's synchronisieren auch die Panel-Ansteuerung brav mit der Vertikalfrequenz, und verhalten sich diesbezüglich fast wie ein CRT. Andere jedoch verwenden z.B. grundsätzlich eine feste Frequenz, oftmals 60 Hz.


    Diese Details stehen jedoch weder in der Anleitung noch im Datenblatt des TFT's. Da die daraus resultierenden Effekte für viele User eher verwirrend als nachvollziehbar sind, und oftmals auch nicht bemerkt werden, ist das Wissen darüber, welche TFT's sich wie verhalten, eher spärlich.


    Wenn die Vertikalfrequenz von der Panel-Ansteuerungsfrequenz abweicht, wird es auf jeden Fall zu Tearing kommen. Das passiert bei manchen TFT's wie gesagt nie, bei anderen hingegen muß man eine bestimmte Vertikalfrequenz verwenden, um Tearing zu vermeiden.


    Fazit: Es braucht einen nicht zu wundern, daß es bezüglich Tearing oftmals die reinste Verwirrung gibt. Viele der genannten Ursachen sind auch in der Praxis zu finden. Es kann auch leicht passieren, daß mehrere dieser Ursachen gleichzeitig auftreten. Und es passiert genauso leicht, daß man das Tearing manchmal sieht, manchmal aber auch nicht, und somit eine "falsche Ursache" gefunden zu haben glaubt.


    So, jetzt hab ich meinen Tearing-Frust von der Seele geschrieben. Wenn jemand noch etwas sinnvolles dazu zu sagen hat, nur zu. Kann gut sein daß ich noch etwas übersehen habe.


    Viele Grüße
    Wilfried

  • naja ich sag mal wenn mal Tearing da ist und man bekommt es nicht gleich durch V-Sync oder so weg, oder durch ein Einstellen einer anderen Frequenz, dann stehen sie meisten User doch an oder?
    ich meine wer probiert bei einem normalen Spiel schon alle Einstellungskombinationen durch?


    das wären bei den meisten Spielen ja ca. 6 Auflösungen,5 AA Stufen, 5 AniFilter Stufen, 2 Farbtiefen usw.


    das macht man nicht wenn man nicht gerade jeden Tag CS oder so etwas in der Richtung spielt...


    da stellt man ja mehr ein, als man zum spielen kommt

  • Vielen Dank für die Ausführliche Antwort! =)


    Ich habe jetzt mal versucht, ob auf 60 anstatt 72 HZ mein TFT weniger Tearing hat. Konnte aber keine Besserung feststellen.
    Ich werde mich wohl daran gewöhnen (müssen). ;)


    Nebenbei ist mir noch eins aufgefallen:
    Wenn ich das TFT auf 1280x1024 bei 72 hz gestellt habe, erscheint nach drücken der "info-Taste" des TFT´s: "76,6kHz 72Hz NP"
    Bei der gleichen Auflösung mit 60 Hz folgendes: "60.0kHz 60Hz PP 1280x1024"


    Was bedeutet "PP" und "NP"? Und warum wird einmal die momentane Auflösung mit angezeigt, und bei 72Hz nicht mehr !?


    Gruß
    Brummi

    Einmal editiert, zuletzt von Brummi ()

  • also wie es aussieht liegt es an der software selber, also an quake ...


    denn ich habe heute half life 2 getestet, und da ist tearing nicht vorhanden bzw, so gering, dass es mir nicht auffählt ... ahja, und die unschärfe ist auch geringer als in quake ...