Als je een USB- of draadloze gamecontroller aansluit op je Windows-pc, kun je termen tegenkomen als ‘DirectInput’ en ‘XInput’. Maar wat betekenen ze en wat is het verschil? We zullen het uitleggen.
Het zijn Microsoft Game Controller-API’s
In informatica is een API een Application Programming Interface, een gestandaardiseerde manier waarop twee programma’s met elkaar kunnen praten. In dit geval, wanneer u een controller op uw pc aansluit, maakt Windows de verbinding met de controllerhardware, waarna de API een game in staat stelt om de invoer van de controller op een gestandaardiseerde manier te lezen. Hierdoor kunnen Windows-games gemakkelijk veel verschillende soorten controllers ondersteunen in plaats van een lappendeken van aangepaste controllerstuurprogramma’s en interfaces.
De twee belangrijkste gaming-invoer-API’s in Windows worden DirectInput en XInput genoemd. Anders gezegd, deze API’s zijn als twee verschillende talen die een gamecontroller zou kunnen spreken. Sommige controllers kunnen slechts één “taal” spreken (XInput of DirectInput), terwijl andere beide API’s in verschillende modi kunnen “spreken”. Als de game XInput verwacht, maar de controller alleen DirectInput ‘spreekt’, werkt die controller niet met die game en vice versa.
Hier is een korte blik op de oorsprong van elk:
- Directe invoer: Deze gaming-invoer-API verscheen voor het eerst in 1995 als onderdeel van DirectX 1.0 voor gaming op Windows 95 en werd vervolgens ondersteund door volgende versies van Windows. Het is een legacy-interface die wordt ondersteund door veel pc-gamecontrollers die vóór 2005 zijn uitgebracht, en ook door sommige controllers (en retro-controlleradapters) na die tijd.
- XInvoer: Deze API werd in 2005 gelanceerd als een manier om Xbox 360-controllers op Windows te ondersteunen. Xbox One- en Xbox Series X|S-controllers gebruiken momenteel ook XInput op Windows. XInput is ontstaan als een Xbox-controller-exclusieve API, maar veel controllers van derden (niet gemaakt door Microsoft) ondersteunen het nu ook. Dit betekent dat ze zullen werken met games die zijn geprogrammeerd om Xinput te gebruiken.
De twee API’s doen vergelijkbare dingen, maar DirectInput is ouder dan XInput en is afgeschaft door Microsoft. Toch ondersteunt DirectInput enkele functies die XInput niet heeft, wat gedeeltelijk de reden is waarom de standaard nog steeds in gebruik is. In het onderstaande gedeelte zullen we de twee normen in meer detail vergelijken en contrasteren.
Verschillen: DirectInput versus XInput
Hoewel XInput nu al 17 jaar bestaat, ondersteunen sommige moderne games nog steeds DirectInput-controllers. Een van de redenen is dat er een groot aantal legacy-controllers is geïnstalleerd die sommige mensen nog steeds graag gebruiken.
DirectInput ondersteunt ook meer ingangen dan XInput (8 assen, 128 knoppen en POV voor DirectInput versus 4 assen en 10 knoppen, twee triggers en D-pad voor XInput), wat handig is voor complexe simulatiegames, zoals vlucht simulators en sommige racegames, waar mensen complexe cockpitbesturingsopstellingen bouwen. Ook ondersteunt Xinput slechts vier controllers. Als u meer nodig heeft, is DirectInput uw beste keuze.
De voordelen van XInput ten opzichte van DirectInput liggen meestal aan de kant van de ontwikkelaar. Microsoft zegt dat XInput “gemakkelijker te gebruiken” is en minder instellingen vereist voor programmeurs. Een game-ontwikkelaar die een Xbox-game maakt, kan de game gemakkelijker vertalen naar Windows met ondersteuning voor Xbox-controllers. Ook trillen Xbox-controllers alleen met XInput, en de API verwerkt de triggerknoppen als twee afzonderlijke ingangen in plaats van een enkele positieve/negatieve as op DirectInput.
In een andere overwinning voor XInput zal de API automatisch de lay-out van de controller begrijpen zonder dat elke knop handmatig aan een functie in een game hoeft te worden gekoppeld. Met DirectInput kan de game niet noodzakelijkerwijs de vorm of lay-out van de controller aannemen. Met XInput gebruiken games een standaard Xbox-achtig besturingsschema dat universeel wordt toegewezen aan elke game, vergelijkbaar met een Xbox-gameconsole.
Over het algemeen ligt de toekomst van Windows-gaming bij XInput, maar zoals veel oudere Windows-technologieën, blijft DirectInput behouden voor nichegebruik. Gelukkig, als je een favoriete DirectInput-controller hebt die je wilt gebruiken met een XInput-only game, kun je een hulpprogramma zoals x360ce gebruiken om het aan te passen aan XInput. Veel plezier met gamen!