Closed DrConflict closed 4 years ago
Changing the BT polling rate might have some effect but usually the default value is just fine. Like all "good" car dealers say "your mileague may vary".
Sometimes WIFI can cause noise in BT channels. Try test running the BT controller while WIFI is disabled in your laptop/PC.
Is the controller latency fine over usb connection?
I seem to have a similar problem. I've used DS4Windows for a long time without any issues, but recently (after a pretty long break from using it) after connecting via Bluetooth it lag-spikes just like on the screenshot included by DrConflict. For a couple seconds it works completely fine with regular couple ms of latency, and then for another couple seconds it spikes into ~80ms and becomes completely unusable. And then it just repeats over and over again. It works fine with USB, but the gamepad also works just fine when it's connected via Bluetooth, but without DS4Windows active, so it looks like it's not faulty hardware/signal interference.
BT polling rate won't fix this for you. In your case that means your bluetooth signal is weak (or something wrong with drivers). Try to disable wifi/bluetooth on your phone/laptop and try again. I'd also recommend to delete your drivers and if you have windows 7/8/8.1/10, let OS install it automatically, since BT400 is using Broadcom BCM20702A1 chip (I had different dongle with same chip, worked for me).
BT polling rate won't fix this for you. In your case that means your bluetooth signal is weak (or something wrong with drivers). Try to disable wifi/bluetooth on your phone/laptop and try again. I'd also recommend to delete your drivers and if you have windows 7/8/8.1/10, let OS install it automatically, since BT400 is using Broadcom BCM20702A1 chip (I had different dongle with same chip, worked for me).
BT Dongle is less than 1 meter away from DS4 and all latest drivers are installed. I double checked to be sure. So I'm guessing it can only be the fact that I have multiple devices laying around on my desktop (iPhone and iPad) and a wireless router nearby. But like I said, the lag spikes are very rare at this point and I never actually notice it in-game when it happens so it's all good. Just wanted to make sure I did most things to optimize the connection.
Make sure you don't have "Flush hid" option set in a profile. If this option is checked then DS4Win app will flush the (WinOS level) hid message queue each time it reads a status of a controller. This may lead to lost inputs and causes just extra burden to a HID driver level.
Make sure you don't have "Flush hid" option set in a profile. If this option is checked then DS4Win app will flush the (WinOS level) hid message queue each time it reads a status of a controller. This may lead to lost inputs and causes just extra burden to a HID driver level.
Flush hid option is disabled. Does this project have a discord server btw? It would make sense to have a discord community for this project.
Does this project have a discord server btw? It would make sense to have a discord community for this >project.
https://github.com/Ryochan7/DS4Windows/issues/582
But, Discord is a bit problematic when people are all around the world (timezones) and often discussion history is lost there. Other people don't find the question and solution that easily from there.
Fair enough.
In my case reinstalling BT drivers (uninstalling them via device manager and letting windows install them automatically after reboot) didn't help. Flush HID is disabled. And unlike DrConflict the spikes don't happen randomly, but rather at all times, yet only when using DS4Windows via BT. I'm also ~1m away from the antenna (I have a mini ITX system with built-in BT/WIFI card on the board, with external antenna). Running up-to-date Windows 10.
I've also recently started having issues with constant high latency over bluetooth after it being fine for years. Delay is usually somewhere between 20-30ms but I've seen it go over 40 too, and putting the controller directly in front of the bluetooth dongle doesn't change anything. Disabling flush HID also doesn't change anything. Works fine when plugged in though. Running a mostly up-to-date w10 and latest ds4windows
Try disabling power saving mode (uncheck "Allow computer to power off this device to save power" option) of Bluetooth device in WindowsOS DeviceManager (depending on your BT chipset (and internal vs usb dongle) the bt driver could be either directly under Bluetooth device entry or under Universal Serial Bus Controllers list.
Try to set your PC to "high performance power plan" mode to see if it makes any difference (usually the default is balanced power plan). This setting is under WindowsOS "Power & Sleep" settings and "Advanced power settings" option there.
If you use Steam or GeForce Experience then try disabling Steam DS4 gamepad controller support and GeForce overlay support. Those apps may use the gamepad behind the scene unless the physical controller is hidden (exclusive mode or HidGuardian).
If you have external usb dongle then try the dongle in different usb ports (usb2 vs usb3 and different location of the port in the back and front). Try it even at the end of usb extension cable to move it further away from a "noisy" PC/laptop. Or try disabling WLAN temporarly to see if it makes any difference.
https://www.pugetsystems.com/labs/support-software/How-to-Disable-USB-Selective-Suspend-1190/
Sadly, non of those helped in my case :/ The only ones I could try were disabling the power saving mode and WiFi, the others were already set the way you described - already had high performance power plan set, not using GF Experience, always had Steam's gamepad support disabled, and have an internal BT/WIFI card, so no USB dongle. But then again, in my case the latency problem only appears when DS4Windows is active. When it's not, the gamepad works correctly.
For same unknown reason I don't even have the "power management" in my Bluetooth dongle settings anymore. I know for a fact that I had this tab before, not sure why it's not showing up anymore.
Hmm... I'm running out of ideas. Sorry.
Did different values of the "BT polling rate" profile option had any visible difference? If you now have it at "max" (1ms) then try less frequent polling rate (4ms-10ms). Any difference?
Well, one of those things in the first post seem to have worked for me. I did them all at once and the delay was still high, but device manager always yells at you to restart when you make the smallest change, so I decided to restart anyways to see what happened, and now I'm back down to the 1ms delay. Not sure which one fixed it for me, though I know it's not changing the usb slot since I put it back when I saw the delay was still high before resetting. I thought it might have something to do with it actually being able to open the controller exclusively for once, but even after disconnecting and reconnecting and getting the "could not open exclusively" error, my delay is still 1ms. I've also reenabled the steam controller and geforce overlay with no change. bluetooth is weird man
I am having the same stuttering problem. Cycled through 5 different bluetooth dongles I have, as well as purchasing an intel m.2 card with adapter, installing it vie a pcie slot, and using onboard usb for the bluetooth connection... still stutters when only using ds4windows. Tested this by assigning the right stick to a mouse also in programs such as Joy2key, and via steams interface. They both do not stutter when doing this, only ds4windows no matter which option i've tried. Any other ideas on this?
The only additional suggestion that I can offer now is to test using a profile that has the Use Dinput only enabled; you have to save the profile after checking the box before the option is active. That will cause no virtual controller to be present thus no interaction with the bus driver. At least that will rule out one unique variable from the equation. Either only map keyboard and mouse events in that profile or just let the controller idle for a bit. Either way, a Bluetooth connectivity problem would show up if the connection is really the main issue.
I've tested this as well as every other option, using multiple bluetooth dongles, and while using DS4windows, nothing can stop the stutter while mapping the right(or left) stick to mouse movement.
Can immediately close out DS4windows, disconnect controller, start up Joy2key, or Steam, with the stick assigned to mouse movement, and move the mouse within windows and have zero stutter, at any speed setting. I don't get it.
Also downloaded input mapper, and it causes the same issue, if that helps at all.
This is a fresh reinstall of W10 also, which i did trying to pinpoint the issue to my gear.
Do you mean that there are no stuttering if you don't map LS/RS stick to a mouse, but use it as a "normal" stick? Hmm... this is very strange because the "reading part" of the physical DS4 controller over BT should be pretty much the same if you use LS/RS as a normal stick in output virtual controller or as a mouse controller.
Both DS4Windows and InputMapper user ViGem component, so it is a common nominator compared to Joy2King (veeery old ScVBus) version and Steam mapping (it's own mapper).
If you use touchpad as a mouse and leave RS/LS as a normal stick then does it work without stuttering?
If I do not remap a stick to mouse movement, and keep it as a controller within games, there is no stuttering. I think that's what you're asking for. Just did more tests.
I don't know why I would be the only one seeing this issue LOL because let me take a little time here to appreciate you....
I've always wanted to get into Destiny 2, and could just never get the feel for mouse and keyboard in a less then super competitive FPS game. I find it MUCH more satisfying to be good with a controller, then mouse/kb, and I have over 10 high end mice for such games mind you, and I'd still rather play with the controller.
Destiny 2 on the other hand, the controller sensitivity leaves much to be desired, and you cannot use Steam overtop of Destiny to get Steam's mouse/kb mapping to overrride D2's. Then I searched DS4windows new updates again, and HOLY CRAP. DS4windows now rocks man, the macros available, the infinite customizability(that a word?) of the thumbsticks curves, everything is just frigging sweet.
After setting DS4windows up to only be Mouse/KB with Destiny 2, Gyro turned on when looking down the sights via the Left shoulder button, and customizing the deadzone to be a very very precise custom map, I'm 90-95% as efficient on my Scuf DS4 controller, as I am with Mouse/keyboard, and holy crap does it feel so much better to do it on a controller. I highly recommend anyone to give FPS's a try with DS4windows setup correctly. On top of that, doing it this way with Destiny 2 turns off their Auto aim which makes getting precision kills not only possible with a controller, but pretty easy to do with the aid of the gyro.
Thanks man, sorry for the wall of text
So I got a V2 controller yesterday and an Asus BT-400 dongle. The latency is much better but it still acts up a little sometimes. It's pretty rare at this point though. I'm wondering if messing with the the BT polling rate can fix or optimize things a little?