Latencia del teclado: de dónde viene el retraso y cómo se mide
La latencia del teclado es el tiempo que pasa desde que tu dedo empieza a pulsar una tecla hasta que el teclado ha enviado esa pulsación al ordenador. Se acumula en cuatro sitios: el recorrido de la tecla, el escaneo de las teclas que hace el teclado, el debounce y el sondeo USB. Ninguna web puede medirla, porque un navegador solo se entera de una pulsación después de que el teclado la haya enviado. Quienes la miden usan un solenoide que pulsa la tecla y un analizador USB que registra cuándo sale la pulsación del teclado. Para reducirla, usa un punto de activación más corto, el polling rate más alto y el debounce más bajo que no haga que las teclas escriban dos veces.
Dónde espera una pulsación antes de que la reciba el ordenador
- Recorrido de la teclala tecla baja hasta el punto en que se activa el interruptor
- Escaneoel chip del teclado revisa la cuadrícula de teclas, fila por fila
- Debounceespera a que el contacto del interruptor deje de rebotar, o ignora el rebote
- Sondeo USBla pulsación espera hasta que el ordenador vuelve a preguntar al teclado si hay novedades
En conjunto: la latencia del teclado
Una página web solo puede poner en marcha su cronómetro aquí
Ordenador y pantalla el juego usa la pulsación, dibuja un fotograma y la pantalla lo muestra: el resto de tu input lag
De dónde viene el retraso
- Recorrido de la tecla. No pasa nada hasta que la tecla llega a su punto de activación. Grabada a 240 fotogramas por segundo, una pulsación normal tardó de 4 a 8 fotogramas en bajar del todo, y el recorrido por sí solo puede sumar fácilmente 10 ms. El teclado más rápido de esa prueba era también, con diferencia, el de recorrido más corto.
- Escaneo. La mayoría de los teclados conectan sus teclas en una cuadrícula y la revisan fila por fila. Un teclado que escanea despacio puede ver tu pulsación varios milisegundos después de que se cerrara el interruptor.
- Debounce. El contacto de un interruptor rebota un momento al cerrarse. El teclado o bien envía la pulsación al instante e ignora el rebote, o bien espera a que el contacto se estabilice. En QMK, el firmware de código abierto que usan muchos teclados personalizados, el debounce por defecto es de 5 ms.
- Sondeo USB. El ordenador pregunta al teclado si hay novedades al ritmo de su polling rate. Una pulsación hecha justo después de un sondeo espera al siguiente.
El polling rate en milisegundos
El tiempo entre dos sondeos es 1000 ms dividido entre el polling rate. De media, una pulsación espera la mitad de ese tiempo.
| Polling rate | Un sondeo cada | Espera media |
|---|---|---|
| 125 Hz | 8 ms | 4 ms |
| 250 Hz | 4 ms | 2 ms |
| 500 Hz | 2 ms | 1 ms |
| 1000 Hz | 1 ms | 0,5 ms |
| 8000 Hz | 0,125 ms | 0,0625 ms |
Pasar de 125 Hz a 1000 Hz ahorra 3,5 ms de media. Los teclados medidos se diferencian en mucho más que eso: en 2017, Dan Luu midió 21 teclados y obtuvo entre 15 y 60 ms, y los dos teclados gaming que había entre ellos no eran más rápidos que los demás.
Cómo se mide la latencia de un teclado
- Un solenoide y un analizador USB. RTINGS y LTT Labs pulsan la tecla con un solenoide, marcan el momento en que la toca y registran con un analizador USB cuándo sale la pulsación del teclado. RTINGS hace la media de 200 pulsaciones. Los dos ponen antes el teclado en sus ajustes más rápidos, como el debounce más bajo y el polling rate más alto.
- Cada conexión por separado. LTT Labs mide por separado el cable, la conexión inalámbrica de 2,4 GHz y el Bluetooth, porque la latencia puede cambiar mucho de una a otra.
- Un analizador lógico. Dan Luu usó uno para medir el tiempo entre el inicio de una pulsación y el paquete USB que generaba.
- En casa, una cámara o un sensor de luz. Graba la tecla y la pantalla a la vez a cámara lenta (240 fotogramas por segundo son un fotograma cada 4,2 ms), o usa un sensor de luz sobre la pantalla, como el OSLTT, de código abierto. Los dos miden toda la cadena, de la tecla a la pantalla, no solo el teclado.
Por qué ninguna web puede medir la latencia del teclado
Un navegador se entera de una pulsación solo después de que el teclado la haya enviado y el ordenador se la haya pasado, así que todo lo que describe esta página ya ha ocurrido antes de que una web pueda poner en marcha un cronómetro. Un test que mide el tiempo desde una señal hasta que pulsas una tecla mide tu reacción, que tarda mucho más que el teclado. Lo que sí puede comprobar un navegador es si se registran todas las teclas y cuántas funcionan a la vez, en el test de teclado, y si una tecla escribe dos veces, en el test de doble pulsación de teclado.
Cómo reducir la latencia del teclado
- Pon el polling rate más alto en la aplicación del fabricante, si la tiene.
- Baja el debounce, si la aplicación te deja, pero quédate en el ajuste más bajo que no haga que las teclas escriban dos veces. Si empiezan a salir letras dobles, mira por qué un teclado escribe letras dobles.
- Usa un punto de activación más corto. Los teclados magnéticos y analógicos te dejan ajustar cuánto tiene que bajar una tecla antes de que cuente. El Rapid Trigger, en teclados como los de Wooting, además suelta la tecla en cuanto empiezas a levantarla y la vuelve a pulsar en cuanto la bajas de nuevo.
- Elige la conexión más rápida para jugar. Si tu teclado se puede conectar de más de una forma, usa la que un análisis midió como la más rápida.
- Después, mira el resto de la cadena. Tu tasa de fotogramas y tu pantalla suelen añadir más retraso que el teclado: mira cómo reducir el input lag.
En qué se diferencian los switches lineales, táctiles y clicky, con las cifras del fabricante de punto y fuerza de activación: switches de teclado.
Fuentes: Dan Luu (en inglés), Latencia de los teclados; RTINGS (en inglés), cómo miden la latencia del teclado; LTT Labs (en inglés), Cómo prueba los teclados Labs; QMK (en inglés), Algoritmo de debounce; Wooting (en inglés), Cómo configurar el Rapid Trigger; OSLTT (en inglés), Herramienta de código abierto para medir la latencia.