Grafikkarten und Monitore 26.139 Themen, 115.539 Beiträge

Schlieren bei 12ms TFT

BLUETOWER / 12 Antworten / Flachansicht Nickles

Hi Leute,


habe den BenQ FP767-12. Der hat 12ms.


Bei Spielen wie Vice City und Mafia sind aber sehr häufig Schlieren.


Habe FX5900 XT.


1280x1024, 32 bit, Filter aus, Aliasing aus, Vsync aus, 60 Hertz


Schalte ich Vsync ein. So hören die SChlieren zwar etwas auf. Es fängt aber an zu ruckeln.


 


Was ist da los? Ist der TFT kaputt. Wie kann ich irgendwas testen?


 


Mfg

bei Antwort benachrichtigen
Schlieren bei TFT normal rill
Spasstiger Dominik6 „also wenn er den hintergrund nicht wissen will... ich würde gerne mehr...“
Optionen

Mach ich doch gerne ;-).

Was man unter Tearing versteht
Zunächst mal ein kleines von mir präpariertes Bild:
http://img90.exs.cx/img90/5683/tearing.jpg
Es fällt auf, dass das Bild in der oberen Hälfte leicht horizontal verschoben ist gegenüber der unteren Hälfte.
Dieser Effekt ist in Spielen bei schnellen Bewegungen zu bemerken, wenn VSync deaktiviert ist. Der Ursprung des Effekts liegt in der Arbeitsweise von Grafikkarte und Monitor (unabhängig ob TFT oder CRT).

Erklärung des Tearing-Effekts:
Die Grafikkarte berechnet ein Bild und legt es in einen Zwischenspeicher (Puffer, engl. Buffer) ab. Wenn VSync nicht aktiv ist, wird das Bild sofort mit dem nächsten Signal an den Monitor weitergeleitet, während die Grafikkarte schon das nächste Bild berechnet. Ist der Monitor auf 60 Hz eingestellt, so sendet die Grafikkarte 60 mal in der Sekunde ein Bild an den Monitor, d.h. es liegen ca. 16 Milisekunden zwischen zwei Signalen. Nun kann es sein, dass die Grafikkarte in der Zwischenzeit begonnen hat, das nächste Bild zu berechnen, an den Monitor wird quasi ein halbfertiges Bild gesendet. Ein Teil vom alten Bild und ein Teil vom neuen Bild. Diese überlagerten Bilder treten eben gewöhnlich bei besonders schnellen Bewegungen besonders deutlich auf. Manche stören sich daran, anderen fällts kaum auf. Erhöht man die Wiederholfrequenz des Monitors, so kann der Tearing-Effekt etwas abgeschwächt werden, weil häufiger Bilder an den Monitor gesendet werden und die Wahrscheinlich, dass ein halbfertiges Bild dabei ist, dann natürlich geringer ist.

Was kann man gegen den Tearing-Effekt tun?
Neben dem Erhöhen der Bildwiederholfrequenz sorgt vor allem das Aktivieren von VSync vor Abhilfe. Ist VSync aktiviert, so sendet die Grafikkarte nur fertige Bild an den Monitor. Würde die Grafikkarte 90 Bilder pro Sekunde rechnen können, also pro Bild nur 11 Milisekunden brauchen, der Monitor ist aber auf 60 Hz eingestellt, bekommt also alle 16 Milisekunden ein Signal, so wartet die Grafikkarte nochmal diese 16-11=5 Milisekunden, um das fertige Bild zu senden. In diesen 5 Milisekunden steht die Grafikkarte quasi still und rechnet nichts.
Kann die Grafikkarte dagegen in einer Szene nur 40 Bilder pro Sekunde rechnen, würde sie also 25 Milisekunden für ein Bild brauchen, dann wartet die Grafikkarte zwei Monitorsignale ab, bis also 32 Milisekunden verstrichen sind. Nun beträgt die Wartezeit sogar 7 Milisekunden. In all diesen Wartezeiten geht Leistung verloren. Den Leistungsverlust sieht man auch ganz konkret an tatsächlich erreichten Frameraten. Die fps werden bei 60 Hz Wiederholfrequenz auf 60 fps, 30 fps, 20 fps, 15 fps, etc. limitiert, also immer auf die nächst niedrigere Stufe. Dies kann unter Umständen zu Ruckeln führen.

Was kann man gegen den Performance-Verlust durch VSync tun?
Es gibt zwei Tricks, wie man dennoch eine optimale Auslastung der Grafikkarte erreichen kann.
- Möglichkeit 1 ist das Erhöhen der Bildwiederholfrequenz. Bei 85 Hz werden die fps z.B. auf die Stufen 85 fps, 42.5 fps, 28.33 fps, 21.25 fps, 17 fps, etc. limitiert. Damit liegen mehr Abstufungen im flüssigen Bereich, die Performance bricht nicht so stark ein.
- Möglichkeit 2 ist das Aktivieren von Triple Buffering. Bei Triple Buffering wird ein Teil der Grafikkarte als weiterer, dritter Zwischenspeicher verwendet. Zwei Zwischenspeicher verwendet die Grafikkarte immer. Ist Triple Buffering aktiv, kann die Grafikkarte also ein fertig berechnetes Bild in einem weiteren Zwischenspeicher ablegen, während sie eigentlich auf das nächste Monitorsignal wartet. Da der Chip nun quasi frei von Last ist, kann direkt das nächste Bild berechnet werden. Über die drei Zwischenspeicher wird somit eine bessere Auslastung der Karte erreicht. Da Triple Buffering einen Teil des Grafikspeichers reserviert, sollte man Triple Buffering nur in Verbindung mit VSync verwenden (sonst kann es Leistung kosten). Bei ATI Karten kann Triple Buffering für OpenGL direkt im Treiber aktiviert werden, bei Nvidia muss man im Spiel nach einer entsprechenden Option suchen. Unter Direct3D muss man auch mit einer ATI Karte direkt im Spiel nach der Unterstützung für dieses Feature suchen. In deutschen Spielen wird Triple Buffering auch häufig "Dreifache Pufferung" oder ähnlich benannt.

Ich hoffe, dass ich eine allgemein verständliche Erklärung zu Stande gebracht hab. Ich erhebe auch keinen Anspruch auf absolute Richtigkeit meiner Ausführungen.

bei Antwort benachrichtigen