thaytan / OpenHMD

Free and Open Source API and drivers for immersive technology.
Boost Software License 1.0
137 stars 12 forks source link

Stuttering, loss of tracking when haptics are activated #44

Closed Danny-Dunn closed 2 years ago

Danny-Dunn commented 2 years ago

On recent versions(past month or 2, cant remember exactly when) the system began stuttering whenever haptics were activated, this is particularly obvious in Beat Saber, where both controllers will lose tracking within 20-30 seconds of starting the level. The entire system(OpenHMD, SteamVR, the game) appears to momentarily slow down or lock up whenever haptics are triggered. Games play fine with haptics disabled.

thaytan commented 2 years ago

I haven't had anything like that.

I did find that constant rumbling could confuse the accelerometer/pose matching and lead to tracking losses, but I made changes a week or two ago that fixed that on my machine. I can stand with sabers crossed so the controllers rumble constantly without losing tracking now.

Are you compiling in release mode? What's your system spec?

Danny-Dunn commented 2 years ago

Tried compiling fresh using these instructions.

My specs: AMD Ryzen 7 2700 (overclocked to 3.9GHz) CPU 16GB 3200MHz Corsair Vengeance RGB Pro DDR4 Memory Asus ROG Strix B450-F Gaming II Motherboard Asus ROG Strix AMD RX570(overclocked) Graphics Card About 1.2TB of SSD storage

Danny-Dunn commented 2 years ago

I haven't had anything like that.

I did find that constant rumbling could confuse the accelerometer/pose matching and lead to tracking losses, but I made changes a week or two ago that fixed that on my machine. I can stand with sabers crossed so the controllers rumble constantly without losing tracking now.

Are you compiling in release mode? What's your system spec?

Interesting, I never had issues with the rumbling causing tracking losses even before those changes.

Danny-Dunn commented 2 years ago

SteamVR shows this output Sun Nov 07 2021 09:51:48.523669 - Invalid input type click for controller (/user/head/proximity) Sun Nov 07 2021 09:51:48.557234 - Invalid input type touch for controller (/user/hand/left/input/joystick) Sun Nov 07 2021 09:51:48.557474 - Invalid input type touch for controller (/user/hand/left/input/x) Sun Nov 07 2021 09:51:48.557571 - Invalid input type touch for controller (/user/hand/left/input/y) Sun Nov 07 2021 09:51:48.557746 - Invalid input type touch for controller (/user/hand/right/input/joystick) Sun Nov 07 2021 09:51:48.557954 - Invalid input type touch for controller (/user/hand/right/input/a) Sun Nov 07 2021 09:51:48.558093 - Invalid input type touch for controller (/user/hand/right/input/b) Sun Nov 07 2021 09:51:48.558724 - Invalid input type click for controller (/user/head/proximity)

Also appears that only one camera works, even though both show lights

thaytan commented 2 years ago

Those machine specs seem fine, and the messages from SteamVR are noisy but harmless I think (I get them too, they're something to do with the input mapping files).

My only guess is that the problem is at the USB traffic level, since the only real cost of starting and stopping haptics is sending a radio command. You could try rearranging which USB ports you're plugged into, otherwise you might need to do some git bisecting back and see if you can identify when it started.

Danny-Dunn commented 2 years ago

The haptics problem no longer exists, even in versions I thought it did. Strange.

thaytan commented 2 years ago

Closing. Please reopen if you see problems again.