Gear GeeksGaming

XInput vs DInput: which has less input lag on PC?

XInput, on a cable, for most pads. But the mode is not what adds the lag. Many pads poll slower in DInput, and that lower rate is the cost. Where both modes poll at the same rate, DInput was level or a little faster. What DInput really takes away is features, and Microsoft lists them.

ControllersUpdated 6 min read

XInput has less input lag on most controllers on a PC cable, but the mode itself is not the cause. Gamepadla measured five pads in both modes on the same cable. Four polled slower in DInput and were 0.71 to 7.15 ms slower on buttons. The fifth, the Switch 2 Pro Controller, polled at about 250 Hz in both modes and was 0.60 ms faster in DInput. So the lag comes from the rate each mode gets. What DInput really costs is features. Use XInput on PC unless the game only reads DInput.

What XInput and DInput are

XInput is Microsoft's controller interface for Xbox-style pads on Windows. DInput is short for DirectInput. It is the older interface for any game controller, joystick or wheel. A game reads the pad through one or the other, or both.

Many third-party pads can present themselves either way. 8BitDo, Machenike and EasySMX call this the input mode. It changes what kind of device Windows sees. It does not change the sticks, the buttons or the radio. What it can change is the polling rate: how many times a second the pad sends a fresh report. A press waits, on average, half the gap between reports, so 250 Hz adds about 2.00 ms and 200 Hz about 2.49 ms. Our polling rate guide explains that half-interval rule.

Two answers circulate because both have a test behind them. "DInput adds lag" comes from pads whose firmware drops to about 200 Hz in DInput. "DInput is faster" comes from pads that keep the same rate in both modes. Both are true of some pad. Neither is true of the mode.

One pad, two modes: the 8BitDo Pro 3 on a cable

Take an 8BitDo Pro 3 on a USB cable and switch it from XInput to DInput. Gamepadla ran both in one session, with one tester and firmware 1.06. Walk through what the published figures say.

The rate falls from 249.88 Hz to 200.53 Hz. By the half-interval rule, mean polling delay rises from 2.00 to 2.49 ms, so polling predicts about 0.49 ms more lag. The measured button average rose from 5.85 to 6.56 ms, a gap of 0.71 ms. That is close to the prediction and inside gamepadla's 1 ms margin. Sticks rose more, from 11.44 to 13.74 ms, a gap of 2.30 ms. At 144 fps a frame lasts 6.94 ms, so the button gap is about a tenth of a frame (derived).

Now pair the same pad over Bluetooth on Windows. 8BitDo lists XInput only for wired and 2.4G, as our 8BitDo Pro 3 polling rate page shows from 8BitDo's own table. In DInput it measured 70.38 Hz and 53.51 ms on buttons. That 47.66 ms jump is not the mode. It is the link and the rate that comes with it.

Every pad measured in both modes on the same link

Each row compares one pad on one link, tested in both modes. Compare inside a row, not down the column. Two rigs and several testers are mixed here.

Average button latency on Windows, gamepadla. Pro 3 #6110 and #6102 (13 August 2025). Switch 2 Pro #7369 (28 November 2025) and #6758 (7 October 2025), two testers. G1 Pro #3945, #3944, #3946, #3951, #3949, #3948 (21 January 2025). G5 Pro Max SE #4240 and #4248 (7 February 2025). X15 #2482, #2483, #2480, #2479, #2477, #2476 (23 September 2024). Rows marked GPDL used the electrical tester; the rest the Prometheus 82. The difference column is derived.
Pad and linkXInput (Hz)XInput buttons (ms)DInput (Hz)DInput buttons (ms)DInput minus XInput (ms)
8BitDo Pro 3, cable249.885.85200.536.56+0.71
Switch 2 Pro, cable248.457.97249.947.37-0.60
Machenike G1 Pro, cable995.794.94205.1512.09+7.15
Machenike G5 Pro Max SE, cable (GPDL)997.012.212005.61+3.40
EasySMX X15, cable (GPDL)615.313.07157.296.67+3.60
Machenike G1 Pro, dongle986.5613.33175.8311.73-1.60
EasySMX X15, dongle (GPDL)138.7512.09138.6910.73-1.36
Machenike G1 Pro, Bluetooth155.8817.01154.9415.52-1.49
EasySMX X15, Bluetooth (GPDL)89.6622.3290.6721.6-0.72

On the cable, DInput was slower on every pad whose rate dropped. The G1 Pro lost the most: from about 1000 Hz to 205 Hz, and 7.15 ms on buttons. Its sticks went from 4.62 to 18.41 ms, a gap of 13.79 ms. The G5 Pro Max SE dropped to the same 200 Hz in DInput. Both are on our Machenike polling rate page. The Switch 2 Pro is the one cable where the rate held, and there DInput came out 0.60 ms ahead. Our Switch Pro Controller polling rate page has its Switch mode figures too.

Off the cable, the rates matched on three of four rows, and DInput was 0.72 to 1.49 ms faster on buttons. Those gaps sit near the 1 ms margin. The G1 Pro dongle is the odd one. Its DInput mode polled at 176 Hz against 987 Hz. It was still 1.60 ms faster on buttons. On sticks it was 8.11 ms faster (18.15 against 26.26). Gamepadla's figures do not say why, so we will not guess. The X15's rates and its other links are on our EasySMX polling rate page.

What you lose in DInput

Microsoft's comparison of XInput and DirectInput says nothing about latency. It lists features. An Xbox-style pad read through DirectInput still works, but three things are missing:

  • "The left and right trigger buttons will act as a single button, not independently." Microsoft says this is by design. One trigger pushes a shared axis one way and the other pushes it the other way, so the axis rests at centre. "In order to test the trigger values separately, you must use XInput." That matters in a racing game with throttle and brake on the triggers.
  • "The vibration effects will not be available." Microsoft also says an XInput device has vibration "only when using XInput APIs".
  • "Querying for headset devices will not be available."

The bigger cost runs the other way. Microsoft says a game that supports only XInput "will not recognize" DirectInput devices. So a pad switched to DInput mode can vanish from a modern game. An Xbox-style pad in XInput mode shows up "as both XInput and DirectInput devices", so it works in either kind of game.

If a game only reads one interface, Steam can bridge the gap for games it launches. Valve's Steam Input documentation says the Steam Overlay hooks XInput, DirectInput, RawInput and Windows.Gaming.Input "and inject[s] an emulated Xbox controller device". Valve also says Steam does not remap flight sticks or racing wheels.

Which mode to use

XInput, on a cable. On that link it was faster or level on every pad measured, by up to 7.15 ms. It keeps both triggers, vibration and every modern game. On a dongle or Bluetooth, the mode moved buttons by 1.60 ms or less, and DInput was the quicker one. That is too little to give up the triggers and vibration for. Switch to DInput only for a game that does not see your pad any other way.

What this does not cover

Each row is one unit and one tester. The Switch 2 Pro's two modes were tested seven weeks apart by two people on different Windows builds, so its 0.60 ms is a guide. Gaps under 1 ms sit inside gamepadla's margin. Microsoft's feature list describes an Xbox-style pad read through DirectInput. It does not describe what a third-party pad reports in its own DInput mode, and no source we fetched does. So we make no trigger or vibration claim about a given pad's DInput mode; check it in the game. Switch mode is a third mode, slower than both on a cable. Nothing here applies to consoles, or to Microsoft's newer GameInput interface, which no paired test covers.

Key takeaways

  • On a cable, XInput is faster on most pads, by 0.71 to 7.15 ms. Their firmware drops to about 157 to 205 Hz in DInput.
  • Where both modes poll at the same rate, DInput was level or up to 1.60 ms faster. The rate decides the lag, not the mode.
  • Microsoft lists DInput's real costs: both triggers on one axis, no vibration, no headset query. It states nothing about latency.
  • An XInput-only game will not see a pad in DInput mode. Steam Input can turn it into an emulated Xbox pad.
  • Use XInput on PC unless the game only reads DInput.

Frequently asked questions

Does DInput add input lag?

Not by itself. On a cable, four of five pads polled slower in DInput and were 0.71 to 7.15 ms slower on buttons. The Switch 2 Pro Controller polled at about 250 Hz in both modes and was 0.60 ms faster in DInput. Off the cable, DInput was 0.72 to 1.60 ms faster on buttons in all four tests.

Is DInput better for older games?

Only for games that read nothing else. Microsoft says a game that supports only XInput "will not recognize" DirectInput devices, so a pad in DInput mode can be invisible to a modern game. An Xbox-style pad in XInput mode still shows up in DirectInput games, with its triggers combined and no vibration.

Why does my trigger act as one axis?

Because the game reads an Xbox-style pad through DirectInput. Microsoft says the left and right triggers then "act as a single button, not independently", by design: one trigger pushes the axis one way and the other pushes it the other way, so the axis sits at centre when neither is held. To read the triggers separately, a game must use XInput.

Does Steam Input fix a DInput-only pad?

In games running through Steam, it can. Valve says the Steam Overlay hooks XInput, DirectInput, RawInput and Windows.Gaming.Input on Windows "and inject[s] an emulated Xbox controller device". The game then sees an Xbox controller. Valve also says Steam does not remap flight sticks or racing wheels.

Is DInput the same as Switch mode?

No. Switch mode makes the pad present itself as a Nintendo controller, and on a PC cable it was slower than both XInput and DInput on all five pads in our table. The Switch 2 Pro Controller fell to 62.86 Hz and 19.4 ms in Switch mode on a cable.