Thema:
Re:Tearing flat
Autor: _bla_
Datum:13.10.20 07:19
Antwort auf:Re:Tearing von tikiman

>>>[https://youtu.be/CF9A935XFkU]
>>>
>>>Sieht gut aus. Aber warum zur Hölle ist da noch Tearing drin? Ist mir echt unerklärlich, dass sowas dann doch immer noch sein muss, hoffe mal die bauen das bis zum Release noch etwas um
>>
>>Mich wundert vor allem das die Konsolen und GPUs nicht längst Anti-Tearing Filter als Hardwarefeature spendiert bekommen haben. Auch ohne Freesync/G-Sync müsste doch das Tearing zumindest etwas verstecken können, bspw. mit einer sanften Überblendung zwischen altem und neuen Bild oder etwas Weichzeichner etc.
>
>Tearing entsteht im Display, nicht der GPU. Die GPU kriegt da nix von mit, ob das Bild auf dem Display gerade teart oder nicht, eben weil die Ausgabe der gerenderten Bilder nicht mit der Darstellung auf dem Display synchronisiert ist.


Der Renderteil der GPU ist nicht dem Display synchronisiert, aber der Ausgabeteil, der die HDMI/DP/etc. Signale erzeugt ist mit der Ausgabe synchronisiert. Das ist auch der Ort, wo das Tearing entsteht und es lässt auch leicht detektieren. Tearing entsteht genau in dem Moment, wenn die Bildpuffer für die Anzeige umgeschaltet werden und sich die Ausgabe gerade außerhalb des VSync befindet.   Hier könnte man ansetzen und die Ausgabeeinheit in diesem Fall für ein paar Zeilen sowohl alten als auch neuen Bildpuffer aus dem Speicher auslesen lassen und eine Überblendung von altem auf neuen Bildpuffer berechnen lassen. Evt. ginge das auch mit sehr viel weniger Hardwaresupport: In dem Moment, wo das Rendern eines Frames fertig ist, kann man schauen, in welcher Zeile sich die Ausgabe gerade befindet, könnte dann schnell einen weichen Übergang an passender Stelle berechnen und dann einigen  Zeilen umschalten.


< antworten >