Eine GPU verfügt über einen Speicher für die Videoausgabe. Jedes Pixel hat eine genaue Adresse. GPU rendert Bilder und legt sie in diesem Videopuffer ab. Dann "scannt" ein dedizierter Hardware-Block diesen Speicher und überträgt den Inhalt in den Video-Port (VGA, HDMI, DVI, was auch immer). Ein Monitor empfängt diese Informationen und zeigt sie an. Aber sind diese Informationen nicht in einem Wiki frei verfügbar?
Wie kennt eine GPU die Adresse jedes einzelnen Pixels auf einem Bildschirm? Wenn ja, wie geht es mit hochauflösenden Bildern um?
Ich weiß, wie Bitmaps funktionieren und wie Pixel verwendet werden (binäre 0 oder 1). Ich kenne mich auch mit RGB aus, aber ich frage mich, wie GPUs die Adresse jedes Pixels auf einem hochauflösenden Bildschirm kennen und wie die GPU Informationen an die Pixel sendet. Kann jemand das beantworten?
2 Antworten auf die Frage
Dazu müssen Sie lediglich den gesamten Speicherpuffer mit Ihrer Aktualisierungsrate zum Ausgangsanschluss kopieren. Das heißt, auf einem Standardmonitor mit DVI-Anschluss würde er 60-mal pro Sekunde Vollbilder von 1920 x 1080 Pixeln mit 24 Bit pro Pixel (8 Bit RGB-Tiefe) senden. Dies ist eine Menge Daten und erfordert hochwertige, kurze Kabel.
Intern kann es viel komplizierter werden. Normalerweise enthält der Video-RAM 2 oder 3 Puffer von Bilddaten (Doppelpufferung oder Dreifachpufferung, um das Abreißen zu verringern. Dies bedeutet im Wesentlichen, dass der Puffer, der an den Ausgangsconnector gesendet wird, nicht von den Betriebssystemtreibern modifiziert wird).
Und es kann noch komplizierter werden: Der Ausgangsstecker kann analog sein, was bedeutet, dass es einen DAC gibt, der jedes Signal in analoge Signale umwandelt. Oder der RAM kann eine höhere Bittiefe als der Monitor verwenden (10 Bit pro Farbe = 30 Bit pro Pixel), Grafikkarten können zeitliches Dithering verwenden, wenn das Ausgabegerät eine niedrigere Bittiefe aufweist (der Fehler von 2 Bit wird also auf das nächste Bit verteilt) Rahmen, der zu sichtbarem, leichtem Rauschen führen kann, jedoch bessere Farbschattierungen ergibt).
Und noch komplizierter: Einige GPUs ordnen ihren Speicher nicht auf dieselbe Weise an, wie sie auf dem Monitor angezeigt werden (Pixelzeilen von oben links nach rechts unten), sondern ordnen ihren Speicher in Zellen (Rechtecke der Bilddaten) an - dies ist der Fall konvertiert werden, kann jedoch zu einer höheren Leistung des VRAM-Zugriffs führen, da der gleichzeitige Zugriff von GPU, CPU und Signalprozessor besser gegeneinander verteilt ist.
Grundsätzlich ist es sehr einfach: Die Daten werden lediglich Pixel für Pixel vom RAM-Puffer zum Ausgangsconnector kopiert, wobei sich der Bildpuffer bei jedem Senden eines vollständigen Frames meist zwischen den Kopien ändert. Der Monitor folgt demselben Zeitmuster und zeichnet die Pixel. Bei jedem Frame werden die Timer erneut synchronisiert, so dass der Monitor oben links beginnt.
Verwandte Probleme
-
2
Wie verwende ich meine GPU, um die Videocodierung zu beschleunigen?
-
3
Wie kann ich Schriftarten aus einem Bild erkennen?
-
1
Kann ich einen 8800GTX und einen 9600GT SLI?
-
3
Warum können GPUs heißer laufen als CPUs?
-
6
Wie verbreitet sind tote Pixel?
-
2
Wie kann ich die höchste GPU-unterstützte DirectX-Version ermitteln?
-
2
Unterstützt Silverlight oder Flash die Hardwarebeschleunigung?
-
1
Sichere GPU-Temperaturen
-
3
Wie wichtig ist der Pixelabstand des Monitors beim Bearbeiten von Videos / Fotos?
-
1
Windows Media Player zwingen, EVR über GPU zu verwenden, um h264-codierte Dateien zu decodieren