Se stai collegando un controller di gioco USB o wireless al tuo PC Windows, potresti incontrare termini come “DirectInput” e “XInput”. Ma cosa significano e qual è la differenza? Ti spiegheremo.
Sono le API del controller di gioco Microsoft
In informatica, un’API è un’interfaccia di programmazione dell’applicazione , che è un modo standardizzato in cui due programmi possono dialogare tra loro. In questo caso, quando colleghi un controller al PC, Windows effettua la connessione all’hardware del controller, quindi l’API consente a un gioco di leggere gli input del controller in modo standardizzato. Ciò consente ai giochi Windows di supportare facilmente molti tipi diversi di controller invece di avere un patchwork di driver e interfacce di controller personalizzati.
Le due principali API di input di gioco in Windows sono chiamate DirectInput e XInput. Per dirla in altro modo, queste API sono come due lingue diverse che un controller di gioco potrebbe parlare. Alcuni controller possono parlare solo una “lingua” (XInput o DirectInput), mentre altri possono “parlare” entrambe le API in modalità diverse. Se il gioco si aspetta XInput ma il controller “parla” solo DirectInput, quel controller non funzionerà con quel gioco e viceversa.
Ecco una rapida occhiata alle origini di ciascuno:
- DirectInput: questa API di input di gioco è apparsa per la prima volta nel 1995 come parte di DirectX 1.0 per i giochi su Windows 95, quindi è stata supportata nelle versioni successive di Windows. È un’interfaccia legacy supportata da molti controller di gioco per PC rilasciati prima del 2005 e anche da alcuni controller (e adattatori per controller retrò ) dopo quel periodo.
- XInput: questa API è stata lanciata nel 2005 come un modo per supportare i controller Xbox 360 su Windows. Anche i controller Xbox One e Xbox Series X|S attualmente utilizzano XInput su Windows. XInput è nato come un’API esclusiva del controller Xbox, ma ora lo supportano anche molti controller di terze parti (non prodotti da Microsoft). Ciò significa che funzioneranno con giochi programmati per utilizzare Xinput.
Le due API fanno cose simili, ma DirectInput è precedente a XInput ed è stato deprecato da Microsoft. Tuttavia, DirectInput supporta alcune funzionalità che XInput non ha, motivo per cui lo standard è ancora in uso. Nella sezione seguente, confronteremo e confronteremo i due standard in modo più dettagliato.
Differenze: DirectInput e XInput
Anche se XInput è in circolazione da 17 anni, alcuni giochi moderni supportano ancora i controller DirectInput. Uno dei motivi è che esiste un’ampia base installata di controller legacy che alcune persone amano ancora utilizzare.
Inoltre, DirectInput supporta più input rispetto a XInput (8 assi, 128 pulsanti e POV per DirectInput rispetto a 4 assi e 10 pulsanti, due trigger e D-pad per XInput), utile per giochi di simulazione complessi, come il volo simulatori e alcuni giochi di corse, in cui le persone costruiscono complesse configurazioni di controllo della cabina di pilotaggio. Inoltre, Xinput supporta solo quattro controller. Se hai bisogno di più, DirectInput è la scelta migliore.
I vantaggi di XInput rispetto a DirectInput riguardano principalmente gli sviluppatori. Microsoft afferma che XInput è “più facile da usare” e richiede meno configurazione per i programmatori. Uno sviluppatore di giochi che realizza un gioco Xbox può tradurre più facilmente il gioco in Windows con il supporto del controller Xbox. Inoltre, i controller Xbox vibrano solo con XInput e l’API gestisce i pulsanti di attivazione come due input separati anziché un singolo asse positivo/negativo su DirectInput.
In un’altra vittoria per XInput, l’API comprenderà automaticamente il layout del controller senza dover associare manualmente ogni pulsante a una funzione in un gioco. Con DirectInput, il gioco non può necessariamente assumere la forma o il layout del controller. Con XInput, i giochi utilizzano uno schema di controllo in stile Xbox standard che si associa universalmente a ogni gioco, simile a una console di gioco Xbox.
In generale, il futuro dei giochi Windows risiede in XInput, ma come molte tecnologie Windows legacy, DirectInput continua a resistere per casi d’uso di nicchia. Fortunatamente, se hai un controller DirectInput preferito che desideri utilizzare con un gioco solo XInput, puoi utilizzare un’utilità come x360ce per adattarlo a XInput. Buon gioco!