Ich kann ein IP-Paket schneller nach Europa senden, als ich ein Pixel an den Bildschirm senden kann. Wie geht es dir?
Und wenn dies nicht John Carmack wäre, würde ich es unter "die dummen Zwischenwebs" ablegen.
Aber das ist John Carmack.
Wie kann das wahr sein?
Um Diskussionen darüber zu vermeiden, was genau in dem Tweet gemeint ist, möchte ich folgende Antwort erhalten:
Wie lange dauert es im besten Fall, bis ein einzelnes IP-Paket von einem Server in den USA an einen anderen Ort in Europa gesendet wird, gemessen ab dem Zeitpunkt, an dem eine Software das Paket auslöst, bis zu dem Zeitpunkt, an dem es von einer oben genannten Software empfangen wird? Fahrerniveau?
Wie lange dauert es im besten Fall, bis ein Pixel auf dem Bildschirm angezeigt wird, gemessen von dem Punkt an, an dem eine Software oberhalb der Treiberebene den Wert dieses Pixels ändert?
Selbst wenn die transatlantische Verbindung das beste Glasfaserkabel ist, das man für Geld kaufen kann, und John direkt neben seinem ISP sitzt, müssen die Daten noch in einem IP-Paket verschlüsselt werden, um vom Hauptspeicher auf seine Netzwerkkarte zu gelangen von dort durch ein Kabel in der Wand in ein anderes Gebäude, wird wahrscheinlich über ein paar Server dort hüpfen (aber nehmen wir an, dass es nur ein einziges Relais benötigt), wird über den Ozean photonisiert und von einem Photosensor in einen elektrischen Impuls zurückverwandelt. und schließlich von einer anderen Netzwerkkarte interpretiert. Lass uns dort anhalten.
Das Pixel ist ein einfaches Maschinenwort, das über den PCI-Express-Steckplatz gesendet und in einen Puffer geschrieben wird, der dann auf den Bildschirm übertragen wird. Selbst wenn man bedenkt, dass „einzelne Pixel“ wahrscheinlich dazu führen, dass der gesamte Bildschirmpuffer auf das Display übertragen wird, sehe ich nicht, wie dies langsamer sein kann: Es ist nicht so, dass die Bits „nacheinander“ übertragen werden, sondern sie sind aufeinanderfolgende elektrische Impulse, die ohne Latenz zwischen ihnen übertragen werden (oder?).
quelle
Antworten:
Die Zeit zum Senden eines Pakets an einen Remotehost ist die Hälfte der Zeit, die von Ping gemeldet wird. Dabei handelt es sich um eine Roundtrip-Zeit.
Das von mir gemessene Display war ein am Kopf montiertes Sony HMZ-T1- Display, das an einen PC angeschlossen war.
Um die Anzeigelatenz zu messen, habe ich ein kleines Programm, das in einem Spin-Loop sitzt und einen Gamecontroller abfragt, eine andere Farbe löscht und bei jedem Tastendruck die Puffer tauscht. Ich nehme ein Video auf, das sowohl den Gamecontroller als auch den Bildschirm mit einer 240-fps-Kamera zeigt, und zähle dann die Anzahl der Bilder zwischen dem Drücken der Taste und dem Bildschirm, auf dem sich eine Änderung abzeichnet.
Der Gamecontroller wird mit 250 Hz aktualisiert, aber es gibt keine direkte Möglichkeit, die Latenz auf dem Eingangspfad zu messen (ich wünschte, ich könnte noch etwas an einen parallelen Port anschließen und Sam-Anweisungen für Ein- / Ausgang verwenden). Als Kontrollexperiment mache ich den gleichen Test auf einem alten CRT-Display mit einer vertikalen Rückverfolgung von 170 Hz. Aero-Monitore und mehrere Monitore können zu einer zusätzlichen Latenz führen. Unter optimalen Bedingungen wird jedoch in der Regel eine Farbänderung ab einem bestimmten Punkt des Bildschirms (vsync deaktiviert) zwei 240-Hz-Frames nach dem Herunterfahren der Taste angezeigt. Es sieht so aus , als ob 8 ms Latenz durch die USB-HID- Verarbeitung vergehen , aber ich möchte dies in Zukunft besser festnageln.
Es ist nicht ungewöhnlich, dass Desktop-LCD-Monitore mehr als 10 Bilder mit 240 Hz benötigen, um eine Änderung auf dem Bildschirm anzuzeigen. Die Sony HMZ lag im Durchschnitt bei 18 Bildern oder über 70 Millisekunden.
Dies war in einem Multimonitor-Setup, daher sind ein paar Frames die Schuld des Treibers.
Eine gewisse Latenz ist Teil einer Technologie. Je nach Technologie dauert es 4 bis 20 Millisekunden, bis sich die LCD-Bildschirme tatsächlich ändern. Ein-Chip- LCoS- Displays müssen ein Videobild puffern, um gepackte Pixel in sequentielle Farbebenen umzuwandeln. Laser-Raster-Displays benötigen eine gewisse Pufferung, um Raster-Return-Scanmuster in Vor- und Zurück-Scanmuster umzuwandeln. Eine Frame-sequentielle oder Top-Bottom-Split-Stereo-3D-Anzeige kann die mittlere Frame-Hälfte der Zeit nicht aktualisieren.
OLED- Displays sollten zu den besten gehören, wie ein eMagin Z800 zeigt , der mit einer 60-Hz-CRT-Latenz vergleichbar ist und besser ist als alle anderen von mir getesteten Nicht-CRT- Displays .
Die schlechte Leistung bei Sony ist auf schlechte Software-Entwicklung zurückzuführen. Einige TV-Funktionen, wie die Bewegungsinterpolation, erfordern das Puffern von mindestens einem Bild und können von mehr profitieren. Andere Funktionen, wie schwebende Menüs, Formatkonvertierungen, Inhaltsschutz usw., könnten auf Streaming-Weise implementiert werden. Der einfache Ausweg besteht jedoch darin, nur zwischen den einzelnen Subsystemen einen Puffer zu erstellen, der in einigen Systemen bis zu einem halben Dutzend Frames stapeln kann .
Das ist sehr bedauerlich, aber es ist alles reparabel, und ich hoffe, dass sich die Displayhersteller in Zukunft mehr auf die Latenz verlassen können.
quelle
Einige Monitore können eine erhebliche Eingangsverzögerung aufweisen
Es ist möglich, eine großartige Internetverbindung im Vergleich zu einer Kombination aus einem beschissenen Monitor und einer Grafikkarte zu haben
Quellen:
Konsolenspiele: Der Lag-Faktor • Seite 2
Ein Display kann weitere 5-10ms hinzufügen
Eine Konsole kann also eine Verzögerung von bis zu 210 ms aufweisen
Und laut Davids Kommentar sollte der beste Fall für das Senden eines Pakets etwa 70 ms betragen
quelle
Es ist sehr einfach, die Eingangsverzögerung auf Monitoren zu demonstrieren. Kleben Sie einfach ein LCD neben ein CRT und zeigen Sie eine Uhr oder eine Animation, die den Bildschirm ausfüllt, und zeichnen Sie sie auf. Man kann eine Sekunde oder mehr zurück sein. Es ist etwas, das LCD-Hersteller verstärkt haben, seit Gamer usw. es mehr bemerkt haben.
Z.B. Youtube Video: Eingangsverzögerungstest Vizio VL420M
quelle