DS4Windows causes a performance loss in Retroarch

Hello everyone.

So I discovered that if DS4Windows executable is running then I have a performance loss on retroarch, which is pretty surprising given that DS4Windows doesn’t seem to consume any meaningful CPU time according to task manager.

I have tested snes9x current and Beetle PSX cores, and both suffer a pretty hefty loss in performance, snes9x being affected harder.

I test by toggling fastfoward on and then just taking note of how many fps I get in this mode.

I got this version of DS4Windows https://github.com/Ryochan7/DS4Windows

Here’s some screenshots:

DS4Windows off

DS4Windows on [spoiler]


DS4Windows is so old, the same developer moved to InputMapper for years now. Just switch to IM.

Am testing inputmapper, seems to have the same effect as ds4windows, in about the same proportion as well.

I never noticed any performance impact using InputMapper. I use a desktop, though. In any case, you can always contact the IM developer, maybe he could help figuring out what happens there.

Are you on Windows 7 or 10?

Windows 10 (1909), Home

I think I have figured this out.

The loss of performance happens when xinput is selected in controller driver. If dinput is selected there is no performance hit at all, and somehow the DS4 works if dinput is chosen, even though DS4Windows is supposed to emulate an xbox controller.

Also, this same performance hit seems to affect a real xbox controller (using the wireless receiver), however choosing dinput here causes the controller not to work.