El problema con los juegos de Steam, y en general con todos los juegos actuales de PC Windows, es que no utilizan el protocolo Dinput, sino el Xinput. Este protocolo lo sacó Microsoft para su mando de Xbox360 con el pretexto de ser mejor que el Dinput. La realidad es que el protocolo Xinput tiene cosas mejores y cosas peores que el Dinput (por ejemplo, soporta menos botones por mando). Pero el caso es que Microsoft ha conseguido que los mandos de Xbox360 se hayan convertido en los oficiales de la plataforma PC Windows, así que el 99% de los programadores y estudios de videojuegos en PC utilizan desde hace una década el protocolo Xinput en lugar del Dinput.
Las placas Zero Delay son dispositivos Dinput, por eso no son compatibles con los juegos de PC actuales. Hace unos días lo estuvimos hablando en el Discord del foro, no son la mejor interfaz porque además tienen bastante lag. Es algo que en PC no se nota prácticamente, pero en Raspberry Pi (Retropie, Recalbox y Batocera) se nota bastante, y la razón es que dicha plataforma (a diferencia del PC) añade también algo de lag que se suma al de la interfaz. Como se suele decir: "se juntan el hambre con las ganas de comer".
Dicho esto, hace poco descubrí
ésta tabla del proyecto MiSTer FPGA donde se comparan resultados de pruebas de latencia de diferentes controladoras, interfaces y mandos de control. Te recomiendo (si aún no la conocías) que le eches un vistazo. Yo me voy a quedar con los resultados de tres interfaces: la
XinMo XM-08, la
Zero Delay Arcade USB Encoder y la
DaemonBite Arcade Controller. Esta última es simplemente una placa
Arduino Pro Micro programada con el
firmware necesario para convertirla en una interfaz de control arcade, lo cual, como ya sabes, lo podemos hacer en nuestra casa muy facilmente si ya disponemos del Arduino.
Interfaz de control | Latencia media (ms) | Latencia máxima medida (ms) | Latencia mínima medida (ms) | API |
XinMo XM-08 | 1.750 | 2.328 | 1.192 | Dinput |
Zero Delay Arcade USB Encoder | 21.264 | 42.220 | 0.196 | Dinput |
DaemonBite Arcade Controller | 0.758 | 1.264 | 0.236 | Xinput |
Como puedes ver la placa con mayor latencia y con resultados más dispares es la Zero Delay, y te sorprenderá la DaemonBite Arcade Controller, ya que tiene menos de 1 ms de latencia. Además tiene una ventaja sobre las interfaces Xinmo y Zero Delay: la DaemonBite utiliza la API
Xinput, con lo cual es detectada como si fuese un mando de Xbox360 y en Windows es directamente compatible con todos los juegos modernos de PC, pudiendo utilizarse por supuesto con cualquier tipo de emulador o juego antiguo, bien directamente o con el uso de programas keymappers como Xpader o JoyToKey.
De entre estas tres interfaces arcade yo recomendaría actualmente la DaemonBite Arcade Controller:
Pero para los que utilizan interfaces Dinput, como las Zero Delay, existe una solución para que funcionen en juegos modernos: mapearlas a dispositivos Xinput virtuales. Para ello existen varios programas, el más sencillo de los cuales es
XOitput:
https://sourceforge.net/projects/xoutput/Este permite crear mandos de Xbox virtuales e incluso ocultar las interfaces Zero Delay. Así en el administrador de dispositivos de juego sólo aparecerán como disponibles los mandos virtuales.
Otro programa que permite también crear mandos de Xbox virtuales es
Virtual Controller:
https://arcadeforever.forumfree.it/?t=75938831Este es más completo y permite muchas más funciones, pero también es mucho más complejo de configurar. Sinceramente
Morera te recomiendo XOutput mejor.Edited by Pegafun - 27/6/2021, 09:07