Las pruebas de la comunidad miden consistentemente 140-200ms de latencia de extremo a extremo en el software estandar de bass shaker para sim racing, en multiples tarjetas de sonido y configuraciones de hardware. Esta pagina recorre cada capa responsable, con cifras documentadas donde estan disponibles y claramente señaladas donde no.
La retroalimentacion haptica es una cadena desde el evento del juego hasta el movimiento fisico del shaker. En el software haptico estandar, tres capas dominan el retardo total. Ninguna capa es catastrofica por si sola. El problema es que se acumulan.
La cifra de 140-200ms proviene de mediciones de la comunidad en mas de 7 configuraciones de tarjetas de sonido. Las cifras capa por capa a continuacion estan documentadas o calculadas a partir de fuentes tecnicas publicas. Donde las cifras son estimaciones o derivadas de primeros principios, se indica en linea.
Total medido: 140-200ms.[1]
Antes de que se sintetice cualquier audio, el software de bass shaker necesita saber que algo sucedio en el simulador. La mayoria del software de bass shaker usa un modelo de sondeo: comprueba si hay datos nuevos con un temporizador fijo, procesa efectos y escribe la salida de audio.
La tasa de actualizacion de propiedades del software estandar de bass shaker funciona hasta 60Hz.[2] A 60Hz, una comprobacion se ejecuta cada 16.7ms. Un evento que llega inmediatamente despues de que una comprobacion acaba de ejecutarse esperara los 16.7ms completos hasta la siguiente antes de activar cualquier salida haptica. En promedio, esto añade ~8ms de tiempo de espera.
Esto es distinto de la propia tasa de telemetria del juego. iRacing escribe en memoria compartida (una region de la RAM de tu PC donde el juego publica telemetria en vivo) a 360Hz mediante sub-muestras. ACC y AC escriben una instantanea una vez por cuadro renderizado, tipicamente 60-240Hz dependiendo de tus FPS. En cualquier caso, el cuello de botella es el software de bass shaker leyendo los datos, no el simulador produciendolos.
Track Impulse lee la memoria compartida de iRacing usando un modelo basado en eventos. No hay bucle de sondeo. El motor se despierta en el instante en que se escribe nueva telemetria, tipicamente en menos de 1ms del tick de fisica del juego.
Antes de que el sonido llegue a tus altavoces o shakers, pasa por un motor de audio: software que mezcla, almacena en buffer y procesa el audio. El software estandar de bass shaker usa un motor de audio de proposito general diseñado para bandas sonoras de juegos y audio cinematico. Estos motores priorizan la estabilidad sobre la velocidad y usan buffers internos grandes para prevenir cortes de audio.
Los registros de errores del software estandar de bass shaker muestran llamadas de inicializacion de audio consistentes con FMOD, un motor de audio ampliamente usado.[3] La documentacion oficial de la API de FMOD indica que su configuracion de buffer interno por defecto encola el audio a traves de 4 bloques de ~21ms cada uno. Asi se ve en numeros:
// FMOD System::setDSPBufferSize defaults bufferlength = 1024 // samples per block numbuffers = 4 // blocks in the ring buffer samplerate = 48000 // Hz block_ms = 1024 / 48000 * 1000 // = 21.33ms per block avg_latency = (4 - 1.5) * 21.33 // = ~53ms average latency
La documentacion de FMOD confirma la formula de latencia como (numbuffers - 1.5) x blocksize, que da aproximadamente 53ms de latencia promedio del mezclador con la configuracion por defecto, antes de que se aplique cualquier sobrecarga de audio del sistema operativo.[3]
No podemos confirmar la configuracion exacta usada por ninguna aplicacion haptica de terceros; el tamaño del buffer y el numero de bloques pueden diferir de los valores por defecto de FMOD. Las cifras anteriores ilustran la categoria del problema, no necesariamente la contribucion precisa en ningun producto especifico. El total de 140-200ms es una medicion de la comunidad, no un calculo a partir de estas cifras por capa.
WASAPI (Windows Audio Session API) es como la mayoria de las aplicaciones de Windows envian audio a tu tarjeta de sonido. En modo compartido, el modo por defecto usado por la mayoria de aplicaciones, Windows enruta el audio de multiples apps a traves de un mezclador central antes de que nada llegue a tu hardware. Este paso de mezcla añade retardo que no puedes eliminar cambiando la configuracion del buffer.
Las pruebas independientes usando FlexASIO muestran consistentemente que el modo compartido de WASAPI produce una latencia superior a 20ms independientemente del tamaño del buffer.[4] Este es un piso impuesto por Windows, no un parametro configurable.
Microsoft añadio una opcion de audio de baja latencia en Windows 10/11 que teoricamente puede reducir esto hasta 1.3ms. Sin embargo, tanto la aplicacion como el controlador de tu tarjeta de sonido deben soportarlo especificamente. El software estandar de bass shaker no lo usa.[5]
ASIO (Audio Stream Input/Output) fue desarrollado por Steinberg especificamente para resolver el problema de latencia de audio de Windows en la produccion musical en tiempo real. Su diferencia arquitectonica clave: evita por completo el mezclador de audio de Windows y se comunica directamente con el controlador de tu tarjeta de sonido.
A 64 muestras / 48kHz (una configuracion tipica de ASIO), la latencia de salida de audio es 64 / 48000 x 1000 = 1.33ms. Esta es la cifra que Track Impulse puede alcanzar con un buffer ASIO de 64 muestras.
Track Impulse aborda cada capa de la pila directamente:
En lugar de comprobar datos nuevos con un temporizador, Track Impulse escucha directamente: el juego notifica al motor en el instante en que hay nueva telemetria disponible. Sin retardo de sondeo. iRacing entrega sub-muestras a 360Hz (multiples instantaneas de fisica empaquetadas en cada cuadro) a traves de este metodo. ACC y AC entregan una instantanea por cuadro renderizado, por lo que la frescura de la telemetria escala con tus FPS.
Cuatro motores de efectos independientes (uno por esquina del coche) procesan velocidad de amortiguador, tono de vibracion, velocidad de rueda y RPM simultaneamente. Cuando el simulador empaqueta multiples actualizaciones de fisica en un solo cuadro, todas se procesan en secuencia. <1ms de tiempo de procesamiento.
La salida via ASIO evita por completo la pila de audio de Windows. 1.3ms de latencia de salida de audio. Sin middleware de audio de proposito general, sin sobrecarga del modo compartido de WASAPI, sin mezcla del SO.
Funciona con cualquier interfaz de audio compatible con ASIO. LF, RF, LR, RR mapeados independientemente. ~1ms de sobrecarga de hardware. Total: tan bajo como 2ms de extremo a extremo.
La latencia total depende de la tasa de telemetria del simulador y la estructura de cuadros. La salida ASIO y la sobrecarga de hardware (~2.3ms combinados) son constantes en todos los simuladores; la variable es la antiguedad de la telemetria.
El modelo de sub-muestras a 360Hz de iRacing significa que los datos mas recientes en cualquier cuadro dado tienen solo 2.78ms de antiguedad en el momento de entrega; los mas antiguos tienen 16.67ms. Con ~1.3ms de salida ASIO y ~1ms de sobrecarga de hardware, el rango completo es 5-19ms. ACC y AC usan una instantanea por cuadro: el juego escribe una actualizacion de telemetria por cada cuadro que dibuja en pantalla. A 144 FPS el intervalo entre cuadros es 6.9ms, asi que con ~2.3ms de sobrecarga de la pila el rango es 2-9ms. Mayor FPS entrega telemetria mas fresca; a 60 FPS el rango se amplia a ~2-19ms.
Instala Track Impulse, el software de bass shaker de baja latencia construido para cerrar esta brecha, junto a cualquier configuracion haptica existente y compara directamente. Gratis durante la beta. Sin tarjeta de credito. Configurado en menos de 10 minutos.