Ich habe nur ein paar schnelle Berechnungen angestellt:
Auf meinem MacBook habe ich eine Auflösung von 2560x1440 multipliziert mit 24 Bit für Farben. Wir erhalten 11,05 MB für ein einzelnes Bild oder 663 MB pro Sekunde bei 60 fps .
Ich schätze, es gibt eine gewisse Komprimierung, aber wenn ich mich zum Beispiel mit drei Fingern über mein Touchpad bewege, das ist ziemlich zufällig, passiert was als nächstes auf dem Bildschirm und fast jedes Pixel ändert sich. Wie bei fast jeder anderen Interaktion.
Bitte erläutern Sie, ob meine Berechnungen falsch sind und wie diese Daten von meiner Grafikkarte auf meinen Bildschirm übertragen werden. Wie breit sind die Busse zwischen meiner Grafikkarte und meinem Bildschirm? Vielleicht kurz erklären, wie ein Display Pixel speichert? Schieberegister? Zwischenspeicher?
quelle
Antworten:
Ihre Berechnungen sind im Wesentlichen korrekt. Bei einem 1440p60Hz-Signal haben Sie eine Datenrate von 5,8 Gbit / s, sobald Sie auch die Austastzeit berücksichtigen (nicht sichtbarer Pixelrand in der Bildausgabe).
Für HDMI / DVI wird eine 10 / 8b-Codierung verwendet, was bedeutet, dass tatsächlich 30 Bit gesendet werden, während die Daten codiert und Protokollsteuerwörter hinzugefügt werden, obwohl 24 Bit Farbdaten pro Pixel angegeben werden. Es wird überhaupt keine Komprimierung durchgeführt, die Rohdaten werden gesendet, sodass Sie eine Datenbandbreite von 7,25 Gbit / s benötigen .
Nochmal Blick auf HDMI / DVI. Für die Datenübertragung wird der Signalisierungsstandard "TDMS" verwendet. Der HDMI V1.2-Standard schreibt ein Maximum von 4,9 Gbit / s für einen Single-Link (3 serielle Datenleitungen + 1 Taktleitung) oder im Falle von Dual-Link-DVI ein Maximum von 9,8 Gbit / s (6 serielle Datenleitungen) vor ). Es ist also mehr als ausreichend Bandbreite vorhanden, um 1440p60 über einen Dual-Link-DVI-Anschluss zu übertragen, jedoch nicht über einen HDMI V1.2-Anschluss.
Im HDMI V1.3-Standard (die meisten Geräte übersprangen tatsächlich auf V1.4a, was der Bandbreite von 1.3 entspricht) wurde die Bandbreite auf etwa 10 Gbit / s verdoppelt, was 1440p60 unterstützen würde, und es ist auch genug Bandbreite für UHD bei 30 Hz (2160p30).
DisplayPort als weiteres Beispiel verfügt über 4 serielle Datenströme, von denen jeder (in Version 1.1 ) 2,16 Gbit / s pro Stream (unter Berücksichtigung der Codierung) unterstützt. Mit einer V1.1-Verbindung können Sie also problemlos 1440p60 mit allen 4 Streams ausführen. Sie haben auch einen neueren Standard veröffentlicht, V1.2, der diesen auf 4,32 Gbit / s / Stream verdoppelt und UHD bei 60 Hz ermöglicht. Es gibt noch eine neuere Version, die sie noch weiter auf 6,4 Gbit / s / Stream gebracht haben .
Anfangs klingen diese Zahlen gewaltig, aber tatsächlich nicht so sehr, wenn man USB 3.0 betrachtet. Das wurde mit einer Datenrate von 5 Gbit / s über nur ein einziges Kabel veröffentlicht (eigentlich zwei, eine für TX, eine für RX, aber ich schweife ab). PCIe, die Ihre Grafikkarte heutzutage intern verwendet, wird über ein einzelnes differentielles Paar mit bis zu 8 Gbit / s betrieben. Es ist also nicht verwunderlich, dass externe Datenschnittstellen aufholen.
Aber die Frage bleibt, wie es gemacht wird? Wenn Sie an VGA denken, besteht dies aus einzelnen Adern für R-, G- und B-Daten, die in einem analogen Format gesendet werden. Analog ist bekanntlich sehr anfällig für Rauschen, und der Durchsatz von DAC / ADCs ist ebenfalls begrenzt, so dass das, was Sie durchsetzen können, massiv eingeschränkt wird ( obwohl Sie mit etwas Glück kaum 1440p60Hz über VGA erreichen können).
Bei modernen Standards verwenden wir jedoch digitale Standards, die wesentlich unempfindlicher gegen Rauschen sind (Sie müssen nur zwischen hohen und niedrigen Werten unterscheiden und müssen nicht zwischen analogen und digitalen Werten konvertieren).
Darüber hinaus hilft die Verwendung von Differentialstandards über Single-Ended erheblich, da Sie jetzt den Wert zwischen zwei Drähten (+ ve Differenz = 1, -ve Differenz = 0) vergleichen, anstatt einen einzelnen Draht mit einem bestimmten Schwellenwert zu vergleichen. Dies bedeutet, dass die Dämpfung ein geringeres Problem darstellt, da beide Drähte gleichermaßen betroffen sind und bis zur mittleren Spannung gedämpft werden - das "Auge" (Spannungsunterschied) wird kleiner, aber Sie können immer noch feststellen, ob es + ve oder -ve ist wenn es nur 100 mV oder weniger ist. Single-ended-Signale, sobald das Signal gedämpft ist, können unter Ihren Schwellenwert fallen und nicht mehr unterscheidbar sein, selbst wenn die Amplitude immer noch 1 V oder mehr beträgt.
Durch die Verwendung einer seriellen Verbindung über eine parallele Verbindung können wir auch zu schnelleren Datenraten wechseln, da der Zeitversatz kein Problem mehr darstellt. In einem parallelen Bus, beispielsweise mit einer Breite von 32 Bit, müssen Sie die Länge und die Ausbreitungseigenschaften von 32 Kabeln perfekt aufeinander abstimmen, damit die Signale nicht gegeneinander phasenverschoben sind (Versatz). In einer seriellen Verbindung haben Sie nur ein einziges Kabel, so dass kein Versatz auftreten kann.
TL; DR Die Daten werden mit der von Ihnen berechneten vollen Bitrate (mehrere Gbit / s) ohne Komprimierung gesendet. Moderne Signalisierungstechniken von serialisierten digitalen Verbindungen über differentielle Paare machen dies möglich.
quelle
Moderne Computer sind überraschend schnell. Die Leute werden gerne Full-HD-Videos mit 30 Bildern pro Sekunde laden, ohne zu bemerken, dass dies Milliarden von Rechenoperationen pro Sekunde erfordert. Gamer sind sich dessen tendenziell etwas bewusster. Mit einer GTX 1060 erhalten Sie 4,4 TFLOPS ( Billionen Gleitkommaoperationen pro Sekunde).
Eine andere Antwort hat sich mit der Multi-Gigabit-Natur von HDMI, DisplayLink usw. befasst.
Das Display selbst speichert theoretisch keine Bilddaten.
(Einige Bildschirme, insbesondere Fernseher, speichern ein oder zwei Bilder, um die Bildverarbeitung anzuwenden. Dies erhöht die Latenz und ist bei Spielern unbeliebt.)
Das Grafiksubsystem eines Computers speichert Pixel in einem gewöhnlichen DRAM. Normalerweise wird nicht bei jedem Frame das Ganze vom Prozessor neu gezeichnet, sondern ein Teil der Funktionalität wird an dedizierte Subsysteme und einen Compositor übergeben . Ein Compositor ermöglicht es beispielsweise, jedes Fenster auf dem Desktop als einen eigenen Satz von Pixeln zu speichern, die dann von der dedizierten Hardware verschoben, gescrollt oder gezoomt werden können. Dies wird beim Scrollen auf Mobilgeräten sehr deutlich. Sie können einen kurzen Weg zurücklegen, bis die vorberechneten Pixel "außerhalb des Bildschirms" aufgebraucht sind und die Software anhalten und weitere Elemente in den Puffern des Compositors rendern muss.
Spiele werden in jedem Bild neu gezeichnet, und es gibt eine Menge Literatur darüber, wie eine Szene aufgebaut wird. Dies ist in einem Framebuffer auf der Grafikkarte aufgebaut, der dann ausgesendet wird, während der nächste Frame in einen anderen Puffer gezogen wird.
Die Videodekodierung wird normalerweise auch auf dedizierter Hardware durchgeführt, insbesondere auf H.264.
quelle
Die Verbindung zwischen Grafikkarte und LCD-Bildschirm wird über mehrere Hochgeschwindigkeits-Differentialpaare mithilfe von TMDS-Signalen hergestellt , die üblicherweise als "Fahrspuren" bezeichnet werden. Typischerweise werden vier Spuren verwendet, so dass man sagen kann, dass der Bus 4 Bit breit ist. Für einige weitere Details gibt es eine Stackhexchange-Antwort .
Jedes LCD-Panel-Modell wird normalerweise mit mehreren Schnittstellen-Inkarnationen hergestellt, daher muss man vorsichtig sein und die Suffixe beachten, wenn man versucht, ein defektes Panel auszutauschen. Die meisten modernen digitalen Verbindungen (HDMI 1.4) haben 10,2 Gbit / s oder nur 2,5 Gbit / s pro Spur. In Ihren Berechnungen (663 MBit / s) werden 1,2 Gbit / s pro Lane (unter der Annahme von 4 Lanes) berechnet, was nicht so viel ist (zum Beispiel hat SATA3 6 Gbit / s).
ZUSATZ auf LCD-Panels. Das Aktivmatrix-LCD versucht tatsächlich, das Einzelbild (Pixeldaten) in Kondensatoren zu speichern, die "Twisted Nematic Cells" (denjenigen, der die Filmpolarisation steuert) zugeordnet sind. Das Problem ist, dass die Größe der analogen Speicherkappen ein Kompromiss zwischen Speicherzeit und Geschwindigkeit des Pixelwechsels sein muss. Es kann also nicht groß gemacht werden, verliert schnell das gespeicherte Potenzial und erfordert daher eine regelmäßige Aktualisierung . Jede Pixelzelle ist über einen Transistor ("aktives" Element) mit Daten- und Adressleitungen verbunden, siehe diesen Tomshardware-Artikel . Die LCD-Treibersteuerung multiplext Daten- und Adressleitungen zeilenweise, wodurch das angezeigte Bild erhalten bleibt. Das Bild selbst wird in einem Bildspeicher (RAM) im Grafikcontroller gespeichert.
quelle