DirectInput vs. XInput para controladores de juegos: ¿Cuál es la diferencia?

La mano de una persona sosteniendo un controlador de Xbox One.
ArtSimulacra/Shutterstock.com

Si está conectando un controlador de juegos USB o inalámbrico a su PC con Windows, es posible que encuentre términos como «DirectInput» y «XInput». Pero, ¿qué significan y cuál es la diferencia? Te lo explicamos.

Son las API del controlador de juegos de Microsoft

En informática, una API es una interfaz de programación de aplicaciones , que es una forma estandarizada en la que dos programas pueden comunicarse entre sí. En este caso, cuando conecta un controlador a su PC, Windows hace la conexión con el hardware del controlador, luego la API permite que un juego lea las entradas del controlador de una manera estandarizada. Esto permite que los juegos de Windows admitan fácilmente muchos tipos diferentes de controladores en lugar de tener un mosaico de interfaces y controladores de controlador personalizados.

Las dos principales API de entrada de juegos en Windows se llaman DirectInput y XInput. Para decirlo de otra manera, estas API son como dos idiomas diferentes que podría hablar un controlador de juego. Algunos controladores solo pueden hablar un «idioma» (XInput o DirectInput), mientras que otros pueden «hablar» ambas API en diferentes modos. Si el juego espera XInput pero el controlador solo «habla» DirectInput, ese controlador no funcionará con ese juego y viceversa.

Aquí hay un vistazo rápido a los orígenes de cada uno:

  • DirectInput: esta API de entrada de juegos apareció por primera vez en 1995 como parte de DirectX 1.0 para juegos en Windows 95 y luego se admitió en versiones posteriores de Windows. Es una interfaz heredada compatible con muchos controladores de juegos de PC lanzados antes de 2005, y también con algunos controladores (y adaptadores de controlador retro ) posteriores a esa fecha.
  • XInput: esta API se lanzó en 2005 como una forma de admitir los controladores de Xbox 360 en Windows. Actualmente, los controladores Xbox One y Xbox Series X|S también usan XInput en Windows. XInput se originó como una API exclusiva del controlador de Xbox, pero muchos controladores de terceros (no fabricados por Microsoft) ahora también lo admiten. Esto significa que funcionarán con juegos programados para usar Xinput.
Relacionado:  Cómo usar su teléfono Android como un mouse o teclado Bluetooth

Las dos API hacen cosas similares, pero DirectInput es más antiguo que XInput y Microsoft lo ha desaprobado . Aún así, DirectInput admite algunas funciones que XInput no admite, lo que explica en parte por qué el estándar todavía está en uso. En la siguiente sección, compararemos y contrastaremos los dos estándares con más detalle.

Diferencias: DirectInput vs XInput

Aunque XInput existe desde hace 17 años, algunos juegos modernos aún son compatibles con los controladores DirectInput. Una de las razones es porque hay una gran base instalada de controladores heredados que a algunas personas todavía les gusta usar.

Además, DirectInput admite más entradas que XInput (8 ejes, 128 botones y POV para DirectInput frente a 4 ejes y 10 botones, dos disparadores y D-pad para XInput), lo que resulta útil para juegos de simulación complejos, como vuelo. simuladores y algunos juegos de carreras, donde las personas construyen configuraciones complejas de control de cabina. Además, Xinput solo admite cuatro controladores. Si necesita más que eso, DirectInput es su mejor opción.

Las ventajas de XInput sobre DirectInput se encuentran principalmente en el lado del desarrollador. Microsoft dice que XInput es «más fácil de usar» y requiere menos configuración para los programadores. Un desarrollador de juegos que crea un juego de Xbox puede traducir más fácilmente el juego a Windows con la compatibilidad con el controlador de Xbox. Además, los controladores de Xbox solo vibran con XInput, y la API maneja los botones de activación como dos entradas separadas en lugar de un solo eje positivo/negativo en DirectInput.

En otra victoria para XInput, la API comprenderá automáticamente el diseño del controlador sin necesidad de vincular manualmente cada botón a una función en un juego. Con DirectInput, el juego no necesariamente puede asumir la forma o el diseño del controlador. Con XInput, los juegos usan un esquema de control estándar estilo Xbox que se asigna universalmente a cada juego, similar a una consola de juegos Xbox.

Relacionado:  Cómo activar los servicios de ubicación en el iPhone

En general, el futuro de los juegos de Windows se encuentra en XInput, pero al igual que muchas tecnologías heredadas de Windows, DirectInput continúa para casos de uso de nicho. Afortunadamente, si tiene un controlador DirectInput favorito que desea usar con un juego solo de XInput, puede usar una utilidad como x360ce para adaptarlo a XInput. ¡Feliz juego!