DirectInput vs XInput pour les contrôleurs de jeu : quelle est la différence ?
Agence web » Actualités du digital » DirectInput vs XInput pour les contrôleurs de jeu : quelle est la différence ?

DirectInput vs XInput pour les contrôleurs de jeu : quelle est la différence ?

Si vous connectez une manette de jeu USB ou sans fil à votre PC Windows, vous pouvez rencontrer des termes tels que « DirectInput » et « XInput ». Mais que signifient-ils et quelle est la différence ? Nous allons vous expliquer.

Ce sont les API Microsoft Game Controller

En informatique, une API est une interface de programmation d’application, qui est un moyen standardisé permettant à deux programmes de communiquer entre eux. Dans ce cas, lorsque vous connectez une manette à votre PC, Windows établit la connexion avec le matériel de la manette, puis l’API permet à un jeu de lire les entrées de la manette de manière standardisée. Cela permet aux jeux Windows de prendre facilement en charge de nombreux types de contrôleurs différents au lieu d’avoir un patchwork de pilotes et d’interfaces de contrôleur personnalisés.

Les deux principales API d’entrée de jeu dans Windows sont appelées DirectInput et XInput. En d’autres termes, ces API sont comme deux langages différents qu’un contrôleur de jeu pourrait parler. Certains contrôleurs ne peuvent parler qu’une seule « langue » (XInput ou DirectInput), tandis que d’autres peuvent « parler » les deux API dans des modes différents. Si le jeu attend XInput mais que le contrôleur ne « parle » que DirectInput, ce contrôleur ne fonctionnera pas avec ce jeu, et vice-versa.

Voici un aperçu rapide des origines de chacun :

  • Entrée directe : Cette API d’entrée de jeu est apparue pour la première fois en 1995 dans le cadre de DirectX 1.0 pour les jeux sur Windows 95, puis prise en charge sur les versions ultérieures de Windows. Il s’agit d’une interface héritée prise en charge par de nombreux contrôleurs de jeu PC sortis avant 2005, ainsi que par certains contrôleurs (et adaptateurs de contrôleur rétro) après cette date.
  • XEntrée : Cette API a été lancée en 2005 pour prendre en charge les contrôleurs Xbox 360 sous Windows. Les contrôleurs Xbox One et Xbox Series X|S utilisent également actuellement XInput sous Windows. XInput est à l’origine une API exclusive au contrôleur Xbox, mais de nombreux contrôleurs tiers (non fabriqués par Microsoft) le prennent désormais également en charge. Cela signifie qu’ils fonctionneront avec des jeux programmés pour utiliser Xinput.

Les deux API font des choses similaires, mais DirectInput est plus ancien que XInput et a été obsolète par Microsoft. Néanmoins, DirectInput prend en charge certaines fonctionnalités que XInput ne prend pas en charge, ce qui explique en partie pourquoi la norme est toujours utilisée. Dans la section ci-dessous, nous comparerons et opposerons les deux normes plus en détail.

EN RELATION: Qu’est-ce qu’une API et comment les développeurs les utilisent-ils ?

Différences : DirectInput et XInput

Même si XInput existe depuis maintenant 17 ans, certains jeux modernes prennent toujours en charge les contrôleurs DirectInput. L’une des raisons en est qu’il existe une large base installée de contrôleurs hérités que certaines personnes aiment encore utiliser.

En outre, DirectInput prend en charge plus d’entrées que XInput (8 axes, 128 boutons et POV pour DirectInput contre 4 axes et 10 boutons, deux déclencheurs et D-pad pour XInput), ce qui est pratique pour les jeux de simulation complexes, tels que le vol simulateurs et certains jeux de course, où les gens construisent des configurations de contrôle de cockpit complexes. De plus, Xinput ne prend en charge que quatre contrôleurs. Si vous avez besoin de plus que cela, DirectInput est votre meilleur choix.

Les avantages de XInput par rapport à DirectInput sont principalement du côté des développeurs. Microsoft affirme que XInput est « plus facile à utiliser » et nécessite moins de configuration pour les programmeurs. Un développeur de jeux qui crée un jeu Xbox peut plus facilement traduire le jeu vers Windows avec la prise en charge de la manette Xbox. De plus, les contrôleurs Xbox ne vibrent qu’avec XInput, et l’API gère les boutons de déclenchement comme deux entrées distinctes au lieu d’un seul axe positif/négatif sur DirectInput.

Dans une autre victoire pour XInput, l’API comprendra automatiquement la disposition du contrôleur sans avoir besoin de lier manuellement chaque bouton à une fonction dans un jeu. Avec DirectInput, le jeu ne peut pas nécessairement adopter la forme ou la disposition du contrôleur. Avec XInput, les jeux utilisent un schéma de contrôle standard de style Xbox qui correspond universellement à chaque jeu, similaire à une console de jeu Xbox.

En général, l’avenir des jeux Windows repose sur XInput, mais comme de nombreuses technologies Windows héritées, DirectInput continue de s’accrocher aux cas d’utilisation de niche. Heureusement, si vous avez un contrôleur DirectInput préféré que vous souhaitez utiliser avec un jeu uniquement XInput, vous pouvez utiliser un utilitaire tel que x360ce pour l’adapter à XInput. Bon jeu !

★★★★★