Controller Jitter on Oculus Quest 2

Our first CloudXR trial here has been locally with a VR-ready PC as server and an Oculus Quest 2 as client. The server is wired and the Quest 2 is wireless. We’ve tried GeForce 1080 and 2080 cards. Our assumption was that this would be a best-case network scenario for testing. We are using the prebuilt APK that came with the SDK. Everything starts up & connects no problem. The headset video looks smooth, but there is significant jitter in the motion of the controllers. What might be affecting that?

Hi Todd,

Does this look like the same problem that you are experiencing, or is yours different?

Thanks,
Will Rice

Yes that does sound like the same thing, only it’s right off the bat for me. “Rubberbanding” is a good description of it. I agree with the poster who said it seems like over-eager motion prediction on the controllers.

Alright, thanks for the report. The team is already looking into it, I’ll let them know there is another report.

If you happen to get a video recording of the rubber banding happening, that would be quite helpful.

Thanks,
Will

Here’s a short video of moving the controllers around. You can see them flickering to incorrect positions before snapping to the correct ones.

My issue is a little smoother but very similar to that, yeah. I’ll try and grab a recording next week of it

One additional thought on this phenomenon - I’ve seen this sort of thing when UDP network packets arrive out of order and aren’t discarded. I wouldn’t expect that to happen to this degree on my home office LAN, but it may not be out of the question.

Hi,

Is this something that happens specifically while buttons are being pressed?

Thanks,
Will

I didn’t see a difference with or without pressing buttons. Today’s trial seemed better-behaved, but I tried some quick moves so you can see the effect - definitely that “rubberbanding” and not UDP packets out of sequence. The more acceleration, the more overshoot we see on the controller tracking. I didn’t smash the controllers together even though it looks like I did in the video.

Thanks, I’ve forwarded that video on along with the information about the buttons.

-Will

I also experience the same as you. May it also be the server trying to predict the location of the controller and overshooting? I guess its using motion vectors to estimate where the controllers think they will end up.

It might be worth trying something like virtual desktop I’m not sure if the implementation is exactly the same but I still think it takes advantage of the HENVC on your nvidia GPU.

I don’t know what it is also, I seem to get much better clarity using virtual desktop compared to CloudXR, cloudXR seems to be a hell of a lot more blocky with loads more compression artifacts. Maybe there are some configuration settings I need to change on the OVR android sample… I guess the virtual desktop has an extra 50mbps of bandwidth to play with because it can go up to 150mbps afaik cloudxr only supports 100mbps.