vsync bei digitaler Anzeige

11/01/2009 - 08:40 von cnewton | Report spam
Hallo,

ich weiß nicht so recht, wo meine Frage hingehört. Ich habe deshalb mal
ein Crossposting gemacht und schlage als fup2 de.comp.hardware.graphik
vor. Bitte gegebenenfalls passend àndern.

Nun zur Frage. Ich möchte gerne verstehen, wie die vertikale
Synchronisation und Doublebuffering bei digitalen Anzeigen (also
DVI+TFT) funktioniert. Bei analoger Technik ist mir das klar. Man hat
zwei Buffer. Wàhrend der eine angezeigt wird (also der Elektronenstrahl
von rechts oben nach links unten zeilenweise wandert, der Grafikspeicher
wàhrenddessen ausgelesen und ein Bild erzeugt wird), kann man in den
anderen das nàchste Bild schreiben. Beim Auftreten des vsync-Signales
(also wenn der ausgeschaltete Strahl von rechts unten nach links oben
springt) tauscht man die Buffer aus. Fertig. Flimmerfreie Darstellung.

Wie ist das jetzt aber bei TFTs, die über DVI angesprochen werden. Da
wandert ja kein Strahl, das gesamte Bild wird auf einmal dargestellt.
Wann kommt das das vsync-Signal? Ist das da so, dass das Bild auf einmal
auf den Bildschirm kommt und man genau in diesem Augenblick das
vsyc-Signal bekommt. Dann hàtte man ja quasi 1/60s Zeit, die Buffer zu
tauschen (wenn ich jetzt mal von 60Hz ausgehe). Oder wie ist das da?

Schönen Sonntag noch.
C.
 

Lesen sie die antworten

#1 Dirk Wolfgang Glomp
11/01/2009 - 10:28 | Warnen spam
Am Sun, 11 Jan 2009 08:40:50 +0100 schrieb Curtis Newton:

Hallo,

ich weiß nicht so recht, wo meine Frage hingehört. Ich habe deshalb mal
ein Crossposting gemacht und schlage als fup2 de.comp.hardware.graphik
vor. Bitte gegebenenfalls passend àndern.

Nun zur Frage. Ich möchte gerne verstehen, wie die vertikale
Synchronisation und Doublebuffering bei digitalen Anzeigen (also
DVI+TFT) funktioniert.



Ja das wüßte ich auch gerne.

Ich nutze das vesa hardware triple buffering. Hierbei werden drei Buffer
verwendet und dabei jeweils auf das Ende des Rasterstrahls gewartet.
Siehe dazu auch http://www.vesa.org/public/VBE/vbe3.pdf

Bei analoger Technik ist mir das klar. Man hat
zwei Buffer. Wàhrend der eine angezeigt wird (also der Elektronenstrahl
von rechts oben nach links unten zeilenweise wandert, der Grafikspeicher
wàhrenddessen ausgelesen und ein Bild erzeugt wird), kann man in den
anderen das nàchste Bild schreiben. Beim Auftreten des vsync-Signales
(also wenn der ausgeschaltete Strahl von rechts unten nach links oben
springt) tauscht man die Buffer aus. Fertig. Flimmerfreie Darstellung.



Ähnlich funktioniert auch das triple buffering, nur das dafür drei Buffer
verwendet werden.

...

Aber auch ohne buffering kann man vor dem Schreibzugriff auf angezeigte
Bildbereiche auf das Ende des Rasterstrahls(port 3DA) warten und dann
kleine Bereiche im angezeigten Bild àndern. Ohne buffering und ohne
Verlagerung des angezeigten Bildbereichs in einen anderen Buffer, flimmert
es dann aber schneller als mit buffering, so das dann nur kleine
Bildbereiche geàndert werden können, bevor es am oberen Bildrand dann zu
ausgefransten Bildbereichen kommt und der Rasterstrahl den Schreibzugriff
ab einer bestimmten Datenmenge überholt und dann dieses Flimmern und
Ausfransen sich dadurch ergeben.

Wie ist das jetzt aber bei TFTs, die über DVI angesprochen werden. Da
wandert ja kein Strahl, das gesamte Bild wird auf einmal dargestellt.
Wann kommt das das vsync-Signal? Ist das da so, dass das Bild auf einmal
auf den Bildschirm kommt und man genau in diesem Augenblick das
vsyc-Signal bekommt. Dann hàtte man ja quasi 1/60s Zeit, die Buffer zu
tauschen (wenn ich jetzt mal von 60Hz ausgehe). Oder wie ist das da?



Ich vermute beim digitalen Signal wird auch zyklisch ein vsync generiert.

Dirk

Ähnliche fragen