¿Ping transatlántico más rápido que enviar un píxel a la pantalla?

¿Ping transatlántico más rápido que enviar un píxel a la pantalla?

John Carmack tuiteó,

Puedo enviar un paquete IP a Europa más rápido de lo que puedo enviar un píxel a la pantalla. ¿Qué tan jodido es eso?

Y si este no fuera John Carmack, lo archivaría en "Interwebs siendo tontos".

Pero este es John Carmack.

¿Cómo puede ser esto cierto?

Para evitar discusiones sobre lo que significa exactamente el tweet, esto es lo que me gustaría que me respondieran:

¿Cuánto tiempo lleva, en el mejor de los casos, enviar un único paquete IP desde un servidor en EE. UU. a algún lugar de Europa, midiendo desde el momento en que un software activa el paquete hasta el momento en que lo recibe un software anterior? nivel del conductor?

¿Cuánto tiempo tarda, en el mejor de los casos, en mostrarse un píxel en la pantalla, medido desde el punto en que un software por encima del nivel del controlador cambia el valor de ese píxel?


Incluso suponiendo que la conexión transatlántica sea el mejor cable de fibra óptica que el dinero pueda comprar, y que John esté sentado justo al lado de su ISP, los datos aún deben codificarse en un paquete IP, pasar de la memoria principal a su tarjeta de red. , desde allí a través de un cable en la pared a otro edificio, probablemente saltará a través de algunos servidores allí (pero supongamos que solo necesita un relé), se fotonizará a través del océano, se convertirá nuevamente en un impulso eléctrico mediante un fotosensor, y finalmente interpretado por otra tarjeta de red. Paremos ahí.

En cuanto al píxel, se trata de una simple palabra de máquina que se envía a través de la ranura PCI Express, se escribe en un búfer y luego se muestra en la pantalla. Incluso teniendo en cuenta el hecho de que "píxeles individuales" probablemente resulten en que todo el buffer de la pantalla se transmita a la pantalla, no veo cómo esto puede ser más lento: no es como si los bits se transfirieran "uno por uno", más bien, Son impulsos eléctricos consecutivos que se transfieren sin latencia entre ellos (¿verdad?).

Respuesta1

El tiempo para enviar un paquete a un host remoto es la mitad del tiempo informado por ping, que mide el tiempo de ida y vuelta.

La pantalla que estaba midiendo era unaSony HMZ-T1Pantalla montada en la cabeza conectada a una PC.

Para medir la latencia de visualización, tengo un pequeño programa que se encuentra en un bucle giratorio que sondea un controlador de juego, borra un color diferente e intercambia buffers cada vez que se presiona un botón. Grabo un video que muestra tanto el controlador del juego como la pantalla con una cámara de 240 fps, luego cuento el número de fotogramas entre que se presiona el botón y que la pantalla comienza a mostrar un cambio.

El controlador del juego se actualiza a 250 Hz, pero no hay una forma directa de medir la latencia en la ruta de entrada (me gustaría poder conectar cosas a un puerto paralelo y usar las instrucciones de entrada/salida de Sam). Como experimento de control, hago la misma prueba en una pantalla CRT antigua con un retroceso vertical de 170 Hz. Aero y varios monitores pueden introducir latencia adicional, pero en condiciones óptimas generalmente verá un cambio de color que comienza en algún punto de la pantalla (vsync desactivado) dos cuadros de 240 Hz después de que se presiona el botón. Parece que hay aproximadamente 8 ms de latencia pasando por elUSB ocultoprocesamiento, pero me gustaría concretar esto mejor en el futuro.

No es raro ver que los monitores LCD de escritorio toman más de 10 fotogramas de 240 Hz para mostrar un cambio en la pantalla. El Sony HMZ promedió alrededor de 18 fotogramas, o más de 70 milisegundos en total.

Esto fue en una configuración de monitores múltiples, por lo que un par de fotogramas son culpa del controlador.

Cierta latencia es intrínseca a una tecnología. Los paneles LCD tardan entre 4 y 20 milisegundos en cambiar, según la tecnología. Una fichaLCoSlas pantallas deben almacenar en buffer un cuadro de video para convertir de píxeles empaquetados a planos de color secuenciales. Las pantallas ráster láser necesitan cierta cantidad de almacenamiento en búfer para convertir patrones de escaneo de retorno de ráster a patrones de escaneo de ida y vuelta. Una visualización 3D estéreo secuencial de fotogramas o dividida de arriba a abajo no puede actualizarse a mitad del fotograma la mitad del tiempo.

OLEDLas pantallas deben estar entre las mejores, como lo demuestra uneMagin Z800, que es comparable en latencia a un CRT de 60 Hz, mejor que cualquier otro CRT que no sea CRT que probé.

El mal desempeño de Sony se debe a una mala ingeniería de software. Algunas funciones del televisor, como la interpolación de movimiento, requieren almacenar en búfer al menos un fotograma y pueden beneficiarse de más. Otras características, como menús flotantes, conversiones de formato, protección de contenido, etc., podrían implementarse en forma de transmisión, pero la salida más fácil es simplemente almacenar en búfer entre cada subsistema, lo que puede acumular hasta media docena de fotogramas en algunos sistemas. .

Esto es muy desafortunado, pero todo se puede solucionar y espero poder apoyarme más en los fabricantes de pantallas sobre la latencia en el futuro.

Respuesta2

Algunos monitores pueden tener un retraso de entrada significativo

Es posible contar con una excelente conexión a Internet en comparación con una mala combinación de monitor y tarjeta de video.

Fuentes:

Juegos de consola: el factor de retraso • Página 2

Entonces, a 30 FPS obtenemos un rendimiento básico de ocho cuadros/133 ms, pero en el segundo clip donde el juego cayó a 24 FPS, hay un claro retraso de 12 cuadros/200 ms entre que aprieto el gatillo y Niko comienza la animación de disparo de la escopeta. Eso son 200 ms más el retraso adicional de su pantalla. Ay.

Una pantalla puede agregar otros 5-10 ms

Entonces, una consola puede tener hasta 210 ms de retraso.

Y, según el comentario de David, el mejor caso debería ser unos 70 ms para enviar un paquete.

Respuesta3

Es muy sencillo demostrar el retraso de entrada en los monitores: simplemente coloque una pantalla LCD al lado de un CRT y muestre un reloj o una animación que llene la pantalla y grábelo. Uno puede estar un segundo o más atrás. Es algo en lo que los fabricantes de LCD se han intensificado desde que los jugadores, etc., lo han notado más.

P.ej.Vídeo de Youtube: Prueba de retardo de entrada Vizio VL420M

información relacionada