El input lag: presente en consolas clásicas, eliminado en emuladores

Emular consolas en un ordenador no es nada fácil, sobre todo con las más modernas. Es necesario emular virtualmente la ejecución de esa consola, y luego que todos los juegos puedan “traducirse” para funcionar correctamente en el ordenador. Por suerte, la mayoría de consolas antiguas pueden emularse sin problemas en PC, y además mejorar la experiencia de juego. No sólo por la posibilidad de jugar con cualquier mando, a cualquier resolución, y en cualquier parte, sino por innovaciones como la que han conseguido los creadores de RetroArch.

En concreto, han conseguido eliminar el input lag que tienen las consolas originales, y así podemos ver antes en la pantalla los efectos de haber pulsado un botón. En el siguiente vídeo podemos ver un claro ejemplo dándole a saltar en Super Mario Bros, donde se compara la consola original y el emulador.

Algunas consolas como la Atari 2600 registraban y procesaban las pulsaciones de botones entre los frames que se mostraban en la pantalla, pero consolas como la NES lo hacían conforme a la renderización del fotograma. Esto significa que en la pantalla no se muestra una reacción hasta que el siguiente fotograma aparece en la pantalla desde que pulsamos el botón (como poco). En algunos juegos el retraso es mucho mayor, pudiendo ser de dos, cuatro o incluso más fotogramas.

Si tenemos en cuenta que una consola NTSC muestra imágenes a 60 Hz, eso significa que cada fotograma se actualiza cada 16,67 ms. Un retraso de 4 fotogramas suma un total de 66,7 ms; una cifra que puede llegar a ser molesta. Por ello, los creadores de RetroArch han empezado a implementar una función experimental llamada Input Lag Compensation (o LAGFIX), un modo cuyo funcionamiento es algo complejo de explicar.

Por cada fotograma se renderizan varios para ir “por delante”

El modo renderiza varios fotogramas más por cada fotograma antes de mostrar el fotograma en el que se muestra la reacción al input. En un juego como Sonic the Hedgehog, con 2 fotogramas de input lag, el emulador renderiza dos fotogramas adicionales por cada input. El emulador muestra el tercer fotograma renderizado, en el cual se está mostrando la primera reacción visible.

Así, a ojos del usuario el juego no tiene input lag porque se están renderizando 3 fotogramas por cada fotograma (como si el juego funcionase a 180 fps), pero mostrando sólo uno. Con cada fotograma se guarda el estado para que no haya problemas de sincronización del audio o la música.

Gracias a esto, los juegos emulados funcionan con menos input lag que los originales, aunque consumiendo más recursos de lo que hacían hasta ahora los emuladores. Esto no importa mucho si hablamos de consolas como la NES siendo ejecutadas en un ordenador moderno, aunque sí podría generar algún problema en dispositivos como una Raspberry Pi. Sus creadores están elaborando ahora un listado abierto para conocer el input lag de los juegos clásicos y poder calibrar el emulador para eliminarlo de manera acorde, incluyendo otro exclusivo para la NES.

 

Fuente: adslzone