Je peux envoyer un paquet IP en Europe plus rapidement que je ne peux envoyer un pixel à l'écran. Comment ça va?
Et si ce n’était pas John Carmack, je le classerais sous «les interwebs étant stupides».
Mais c'est John Carmack.
Comment cela peut-il être vrai?
Pour éviter les discussions sur ce que signifie exactement le tweet, voici ce que j'aimerais obtenir une réponse:
Dans le meilleur des cas, combien de temps faut-il pour qu'un seul paquet IP soit envoyé d'un serveur situé aux États-Unis à quelque part en Europe, à partir du moment où un logiciel déclenche le paquet, jusqu'au point où il est reçu par un logiciel situé au-dessus niveau de conducteur?
Combien de temps faut-il, dans le meilleur des cas, pour qu'un pixel soit affiché à l'écran, mesuré à partir du point où un logiciel au-dessus du niveau du pilote change la valeur de ce pixel?
Même en supposant que la connexion transatlantique soit le câble en fibre optique le plus fin que l’argent puisse acheter, et que John soit assis à côté de son fournisseur d’accès, les données doivent toujours être codées dans un paquet IP, puis passer de la mémoire principale à sa carte réseau. , de là à travers un câble dans le mur dans un autre bâtiment, y sautera probablement sur quelques serveurs (mais supposons qu’il n’a besoin que d’un seul relais), se photonise à travers l’océan, reconverti en impulsion électrique par un photocapteur, et enfin interprété par une autre carte réseau. Arrêtons là.
En ce qui concerne le pixel, il s’agit d’un simple mot machine qui est envoyé dans l’emplacement PCI Express, écrit dans une mémoire tampon, qui est ensuite vidé à l’écran. Même en tenant compte du fait que les “pixels simples” entraînent probablement la transmission de la totalité de la mémoire tampon à l’affichage, je ne vois pas comment cela pourrait être plus lent: ce n’est pas comme si les bits étaient transférés “un par un” - mais plutôt sont des impulsions électriques consécutives qui sont transférées sans latence entre elles (non?).
la source
Réponses:
Le temps nécessaire pour envoyer un paquet à un hôte distant correspond à la moitié du temps indiqué par ping, qui mesure un temps aller-retour.
L’écran que je mesurais était un écran Sony HMZ-T1 monté sur la tête et connecté à un PC.
Pour mesurer la latence de l'affichage, j'ai un petit programme qui se trouve dans une boucle d'essorage interrogeant un contrôleur de jeu, effectuant une suppression de couleur différente et remplaçant les tampons chaque fois qu'un bouton est enfoncé. Je fais un enregistrement vidéo montrant à la fois le contrôleur de jeu et l’écran avec une caméra à 240 ips, puis compte le nombre d’images entre le moment où le bouton est enfoncé et le moment où l’écran commence à montrer un changement.
Le contrôleur de jeu est mis à jour à 250 Hz, mais il n’existe aucun moyen direct de mesurer le temps de latence sur le chemin d’entrée (je souhaiterais pouvoir toujours connecter des éléments à un port parallèle et utiliser des instructions in / out Sam). Comme expérience de contrôle, je fais le même test sur un vieil écran à tube cathodique avec retrace vertical à 170 Hz. Aero et plusieurs moniteurs peuvent introduire une latence supplémentaire, mais dans des conditions optimales, vous constaterez généralement un changement de couleur commençant à un point de l’écran (vsync désactivé) deux images à 240 Hz après la baisse du bouton. Il semble qu’il y ait environ 8 ms de latence dans le traitement USB HID , mais j’aimerais mieux le réduire à l’avenir.
Il n'est pas rare de voir les écrans LCD de bureau prendre plus de 10 images à 240 Hz pour indiquer un changement à l'écran. Le Sony HMZ en moyenne autour de 18 images, ou plus de 70 millisecondes total.
C'était dans une configuration multi-écrans, donc quelques images sont la faute du pilote.
Une certaine latence est intrinsèque à une technologie. Les écrans LCD mettent 4 à 20 millisecondes à changer, en fonction de la technologie. Les écrans LCoS à puce unique doivent mettre en mémoire tampon une image vidéo pour permettre la conversion de pixels compactés en plans de couleurs séquentiels. Les affichages laser raster nécessitent une certaine quantité de mémoire tampon pour convertir les modèles de balayage avant-arrière en modèles inversés. Un écran 3D stéréo fractionné séquentiellement ou divisé haut-bas ne peut pas être mis à jour à mi-trame la moitié du temps.
Les écrans OLED devraient être parmi les meilleurs, comme le montre un eMagin Z800 , qui est comparable à un tube cathodique à 60 Hz en temps de latence, meilleur que n’importe quel autre système non-CRT testé.
Les mauvaises performances du Sony sont dues à une mauvaise ingénierie logicielle. Certaines fonctions de télévision, telles que l'interpolation de mouvement, nécessitent la mise en mémoire tampon d'au moins une image et peuvent en tirer davantage. D'autres fonctionnalités, telles que les menus flottants, les conversions de format, la protection du contenu, etc., pourraient être implémentées en continu, mais la solution de facilité consiste simplement à mettre en tampon entre chaque sous-système, ce qui peut empiler une demi-douzaine d'images dans certains systèmes. .
C’est très regrettable, mais tout est réparable et j’espère pouvoir compter davantage sur les fabricants d’écrans à propos de la latence à l’avenir.
la source
Certains moniteurs peuvent avoir un retard d’entrée important
Comptabiliser une connexion Internet impressionnante par rapport à un moniteur de merde et à une carte vidéo
Sources:
Console de jeu: le facteur de retard • Page 2
Un affichage peut ajouter un autre 5-10ms
Ainsi, une console peut avoir jusqu'à 210 ms de décalage
Et, selon le commentaire de David, le meilleur des cas devrait être d'environ 70 ms pour l'envoi d'un paquet
la source
Il est très simple de démontrer le décalage d’entrée sur les moniteurs, il suffit de coller un écran à cristaux liquides à côté d’un écran, d’afficher une horloge ou une animation remplissant l’écran et de l’enregistrer. On peut être une seconde ou plus derrière. C'est quelque chose que les fabricants d'écrans LCD ont resserré depuis que les joueurs, etc. l'ont remarqué plus.
Par exemple. Vidéo Youtube: Test de décalage d'entrée Vizio VL420M
la source