ACTIVA TOOLS
Blog
30 de septiembre de 20267 min de lecturaPor Diego Pacheco

Retardo del teclado: como saber si es el teclado, el USB o el juego

TecladoLatenciaUSB
Los tres pasos entre pulsar una tecla y que el juego lo note: el teclado con su debounce de pocos milisegundos, el sondeo por USB o por aire de uno a ocho milisegundos, y el juego esperando al siguiente fotograma hasta veinticinco milisegundos, marcado como el mayor de los tresDE LA PULSACION AL JUEGO, TRES PASOSTECLADOdebouncepocos msUSB / AIREsondeo1 a 8 msEL JUEGOmira una vezpor fotogramahasta 25 msEL PROBADOR PUEDE DESCARTAR LOS DOS PRIMEROSEL TERCERO SOLO LO DICE EL PROPIO JUEGOactiva.one

Pulsas la tecla y durante un instante no pasa nada. Luego si pasa, pero ese hueco ya esta ahi, y en un juego rapido se nota en cada movimiento. Lo primero que se sospecha es el teclado, y casi siempre es el sospechoso equivocado.

El retardo que sientes no sale de un solo sitio. Sale de tres, en fila, y cada uno pesa muy distinto. Separarlos es lo que permite dejar de cambiar piezas a ciegas.

Los tres eslabones, de menor a mayor peso

Cuando pulsas una tecla pasan, por orden, tres cosas antes de que el juego se entere. Cada una anade su propio retardo, y el tercero es casi siempre el mas grande de los tres.

  1. El teclado confirma la pulsacion. Por dentro tiene una rejilla de contactos que se leen varias veces por segundo, y antes de dar la tecla por valida espera unos milisegundos para asegurarse de que no es un rebote electrico del propio contacto. A esto se le llama debounce, y en un teclado en buen estado son pocos milisegundos, casi siempre menos de lo que se puede notar.
  2. El aviso llega al ordenador. Por cable, el teclado no avisa al instante: el sistema le pregunta si hay algo nuevo a un ritmo fijo, llamado frecuencia de sondeo. Por Bluetooth o un receptor inalambrico, hay ademas un paso de radio de por medio, con su propio colchon de seguridad.
  3. El juego se entera. Un juego no esta mirando el teclado todo el rato: revisa las entradas una vez por cada fotograma que dibuja. Si el juego va a 40 fotogramas por segundo, la pulsacion puede quedarse esperando hasta 25 milisegundos solo a que llegue el siguiente fotograma, sin que el teclado tenga ninguna culpa.

El tercer eslabon suele ser el mas grande con diferencia. Por eso el mismo teclado se siente instantaneo en un juego que va a 240 fotogramas por segundo y se siente torpe en otro que va a 45, aunque sea el juego el que ha cambiado, no el teclado.

Cuanto pesa de verdad la frecuencia de sondeo

La frecuencia de sondeo marca cada cuanto el ordenador pregunta al teclado si hay algo nuevo. Cuanto mas alta, menos tiempo puede quedarse una pulsacion esperando esa pregunta.

FrecuenciaEspera maxima entre preguntasDonde se ve
125 Hz8 msEl estandar viejo de USB, todavia comun en teclados sin etiqueta gaming
500 Hz2 msBastante teclados de gama media ya lo ofrecen
1000 Hz1 msLo habitual en teclados mecanicos orientados a juegos

La diferencia entre 125 Hz y 1000 Hz son 7 milisegundos en el peor de los casos. Es una cifra real, pero pequena comparada con los 20 o 25 milisegundos que puede costar esperar al siguiente fotograma de un juego que va justo de rendimiento. Merece la pena tenerlo en cuenta al comprar, pero no es lo primero que hay que revisar si algo va claramente mal.

Cable, 2.4 GHz propio o Bluetooth: no es lo mismo

Dentro de lo inalambrico hay dos formas muy distintas de conectar un teclado, y se suelen meter en el mismo saco sin serlo. Un receptor propio de 2,4 GHz, el dongle pequeno que trae el teclado, habla un protocolo simplificado pensado solo para eso: suele acercarse bastante al cable en retardo, porque no tiene que compartir el canal con nada mas.

El Bluetooth es otra historia. Es un protocolo mas general, pensado para conectar de todo, con mas pasos de por medio antes de que la pulsacion llegue. No es raro que un teclado por Bluetooth anada varios milisegundos mas que el mismo teclado con su receptor propio, aunque los dos se anuncien como inalambricos sin mas explicacion.

Si tu teclado ofrece las dos formas de conectarse, y notas el retardo sobre todo jugando, el receptor propio suele ser la opcion mas cercana al cable, y el Bluetooth conviene reservarlo para escribir, donde el hueco no se nota.

Como usar el probador para aislar el problema

El probador de teclado no puede poner un numero de milisegundos al retardo, pero si puede decirte si el teclado responde de forma constante, que es justo lo que hace falta para descartarlo como culpable.

  1. Abre el probador de teclado y pulsa la misma tecla varias veces seguidas, tratando de mantener un ritmo parecido cada vez.
  2. Fijate en si todas las pulsaciones se registran, una por una, sin que falte ninguna y sin que aparezca ninguna de mas.
  3. Repite la prueba manteniendo pulsadas dos o tres teclas a la vez, las que uses juntas en el juego (por ejemplo, moverte y apuntar). El probador te dice cuantas detecta el ordenador a la vez.
  4. Si usas un receptor inalambrico, repite toda la prueba con el teclado conectado por cable, si puede. Comparar los dos resultados dice si el problema aparece solo en uno de los dos modos.

Si en las dos pruebas el teclado responde limpio, una pulsacion por cada pulsacion y sin huecos raros, entonces el teclado y el enlace estan haciendo su trabajo bien. Lo que notas en el juego viene de otro sitio, casi siempre de los fotogramas por segundo que esta dando ese juego en concreto.

Un ejemplo con numeros, para verlo junto

Imagina un teclado con cable, sondeo a 1000 Hz y debounce de 3 milisegundos, usado en un juego que va a 60 fotogramas por segundo. El retardo del propio teclado y del cable apenas llega a 4 milisegundos en el peor caso. El juego, en cambio, revisa las entradas una vez cada 16 milisegundos aproximadamente, y en el peor caso la pulsacion tiene que esperar casi ese tramo entero antes de que se dibuje algo. El total ronda los 20 milisegundos, y de esos 20, el teclado pone 4 y el juego pone 16.

Cambia ahora solo el juego, no el teclado: si baja a 30 fotogramas por segundo, la espera de ese tercer eslabon se duplica, hasta unos 33 milisegundos, y el total sube a casi 37. El teclado sigue exactamente igual de bien que antes. Es el mismo caso que explica por que cambiar de teclado no arregla nada cuando el juego es el que va corto de fotogramas.

Que reduce el retardo de verdad

  • Si juegas por Bluetooth o con un receptor inalambrico generico, pasar a cable quita de un golpe el paso de radio y su colchon de seguridad.
  • Si el teclado permite elegir frecuencia de sondeo en su software, sube a 1000 Hz si tu placa y tu sistema lo admiten.
  • Revisa que el juego no este limitado por otra cosa antes de gastar en un teclado nuevo: si va a 40 fotogramas por segundo, ese es el cuello de botella real, no la tecla.
  • Evita conectar el teclado a traves de un hub USB barato compartido con otros dispositivos; algunos anaden su propio retardo de sondeo.
  • Desconfia de software de teclado que promete bajar la latencia por software: lo que de verdad cambia algo es la frecuencia de sondeo y el cable, no un ajuste oculto.

Lo que el navegador no puede decirte

Conviene ser honesto con los limites de esta prueba, para no sacar una conclusion que no da.

  • No puede medir milisegundos exactos del debounce interno del teclado; eso pasa dentro del propio chip, antes de que el sistema operativo se entere.
  • No puede leer la frecuencia de sondeo real que esta usando el teclado en ese momento, solo si el resultado final llega constante o no.
  • No puede saber a cuantos fotogramas por segundo esta yendo tu juego mientras juegas; eso lo tiene que decir el propio juego o un contador aparte.
  • No distingue un teclado con debounce algo mas largo de lo normal de uno perfecto, si ese margen sigue siendo demasiado pequeno para notarse.

Con todo esto, la pregunta deja de ser una sospecha vaga sobre el teclado y pasa a tener un orden claro donde mirar: primero que el teclado responda limpio en la prueba, despues el cable frente al inalambrico, y solo al final, si las dos cosas estan bien, aceptar que el hueco que notas lo esta poniendo el propio juego.