Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save andyrichardson/7fa349c0f57cc29528793d2605419f9e to your computer and use it in GitHub Desktop.
Save andyrichardson/7fa349c0f57cc29528793d2605419f9e to your computer and use it in GitHub Desktop.

About

Frame times (90fps) are inconsistent causing linear movements to feel jittery/non-linear.

Version

  • Quest 2 (v28)
  • Virtual Desktop: V1.20.5 (client and streamer)

Reproduction (desktop)

  • Make sure desktop is running at at least 90fps
  • Visit this ufotest

Note: Can also be reproduced in VR mode using the steam browser

Expected result

  • Speed of UFO is linear

Actual result

  • Speed of UFO is non-linear (inconsitent/jittery)

Notes

  • Used OVR monitoring tool to check frame rate - no correlating frame dips.

Screencast

Here is a screencast of the issue.

Notes:

  • Recorded at 1080p90
  • Slowed down video (0.5x) to make it easier to see for those on 60hz displays
  • Download video and view locally to see full frame rate

Network info

Pretty confident this isn't a network issue but here's a bunch of info for transparency.

Reproduction:

  • Tested this out on two different routers with identical results (see below).
  • For all cases where CH100 was used, there were no other hotspots within range running at this frequency.
  • When testing, there were no other connected clients to the router (other than the host PC via ethernet).

Belkin RT3200 (OpenWRT firmware)

Channels tried (identical issue across the board):

  • 40mhz (AC, CH36, CH100, LAN QOS on/off)
  • 80mhz (AC, CH36, CH100, LAN QOS on/off)
  • 160mhz (AC, CH36, CH100, LAN QOS on/off
  • 40mhz (AX, CH36, CH100, LAN QOS on/off)
  • 80mhz (AX, CH36, CH100, LAN QOS on/off)
  • 160mhz (AX, CH36, CH100, LAN QOS on/off)

Iperf benchmark

TCP
##################################
# TCP - Headset -> Host
##################################

hollywood:/ $ /data/local/tmp/iperf3.9 -c 192.168.1.2
Connecting to host 192.168.1.2, port 5201
[  5] local 192.168.1.4 port 42978 connected to 192.168.1.2 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  41.2 MBytes   345 Mbits/sec    0    218 KBytes
[  5]   1.00-2.00   sec  42.3 MBytes   355 Mbits/sec    0    218 KBytes
[  5]   2.00-3.00   sec  44.5 MBytes   374 Mbits/sec    0    218 KBytes
[  5]   3.00-4.00   sec  38.5 MBytes   323 Mbits/sec    0    218 KBytes
[  5]   4.00-5.00   sec  42.6 MBytes   358 Mbits/sec    0    218 KBytes
[  5]   5.00-6.00   sec  41.0 MBytes   344 Mbits/sec    0    218 KBytes
[  5]   6.00-7.00   sec  40.7 MBytes   342 Mbits/sec    0    218 KBytes
[  5]   7.00-8.00   sec  43.1 MBytes   361 Mbits/sec    0    218 KBytes
[  5]   8.00-9.00   sec  44.8 MBytes   376 Mbits/sec    0    218 KBytes
[  5]   9.00-10.00  sec  42.6 MBytes   357 Mbits/sec    0    218 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   421 MBytes   353 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   421 MBytes   353 Mbits/sec                  receiver

iperf Done.

##################################
# TCP - Host -> Headset
##################################

hollywood:/ $ /data/local/tmp/iperf3.9 -c 192.168.1.2 -R
Connecting to host 192.168.1.2, port 5201
Reverse mode, remote host 192.168.1.2 is sending                                                                
[  5] local 192.168.1.4 port 43076 connected to 192.168.1.2 port 5201                                           
[ ID] Interval           Transfer     Bitrate                                                                   
[  5]   0.00-1.00   sec  53.2 MBytes   446 Mbits/sec                                                            
[  5]   1.00-2.00   sec  56.2 MBytes   471 Mbits/sec                                                            
[  5]   2.00-3.00   sec  53.4 MBytes   448 Mbits/sec                                                            
[  5]   3.00-4.00   sec  55.8 MBytes   468 Mbits/sec                                                            
[  5]   4.00-5.00   sec  55.4 MBytes   465 Mbits/sec                                                            
[  5]   5.00-6.00   sec  53.7 MBytes   450 Mbits/sec                                                            
[  5]   6.00-7.00   sec  54.3 MBytes   456 Mbits/sec                                                            
[  5]   7.00-8.00   sec  56.2 MBytes   471 Mbits/sec                                                            
[  5]   8.00-9.00   sec  53.8 MBytes   452 Mbits/sec                                                            
[  5]   9.00-10.00  sec  51.2 MBytes   430 Mbits/sec                                                            
- - - - - - - - - - - - - - - - - - - - - - - - -                                                               
[ ID] Interval           Transfer     Bitrate                                                                   
[  5]   0.00-10.00  sec   543 MBytes   456 Mbits/sec                  sender                                    
[  5]   0.00-10.00  sec   543 MBytes   456 Mbits/sec                  receiver                                                                                                                                                  

iperf Done.                                                                                                     
UDP
##################################
# UDP - Headset -> Host
##################################

hollywood:/ $ /data/local/tmp/iperf3.9 -c 192.168.1.2 -u
Connecting to host 192.168.1.2, port 5201
[  5] local 192.168.1.4 port 54603 connected to 192.168.1.2 port 5201
[ ID] Interval           Transfer     Bitrate         Total Datagrams
[  5]   0.00-1.00   sec   128 KBytes  1.05 Mbits/sec  90
[  5]   1.00-2.00   sec   128 KBytes  1.05 Mbits/sec  90
[  5]   2.00-3.00   sec   128 KBytes  1.05 Mbits/sec  90
[  5]   3.00-4.00   sec   128 KBytes  1.05 Mbits/sec  90
[  5]   4.00-5.00   sec   127 KBytes  1.04 Mbits/sec  89
[  5]   5.00-6.00   sec   128 KBytes  1.05 Mbits/sec  90
[  5]   6.00-7.00   sec   128 KBytes  1.05 Mbits/sec  90
[  5]   7.00-8.00   sec   128 KBytes  1.05 Mbits/sec  90
[  5]   8.00-9.00   sec   127 KBytes  1.04 Mbits/sec  89
[  5]   9.00-10.00  sec   128 KBytes  1.05 Mbits/sec  90
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  1.25 MBytes  1.05 Mbits/sec  0.000 ms  0/898 (0%)  sender
[  5]   0.00-10.00  sec  1.25 MBytes  1.05 Mbits/sec  0.265 ms  0/898 (0%)  receiver

iperf Done.

##################################
# UDP - Host -> Headset
##################################

hollywood:/ $ /data/local/tmp/iperf3.9 -c 192.168.1.2 -u -R
Connecting to host 192.168.1.2, port 5201
Reverse mode, remote host 192.168.1.2 is sending
[  5] local 192.168.1.4 port 57065 connected to 192.168.1.2 port 5201
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-1.00   sec   130 KBytes  1.06 Mbits/sec  0.226 ms  0/91 (0%)
[  5]   1.00-2.00   sec   128 KBytes  1.05 Mbits/sec  0.203 ms  0/90 (0%)
[  5]   2.00-3.00   sec   127 KBytes  1.04 Mbits/sec  0.322 ms  0/89 (0%)
[  5]   3.00-4.00   sec   128 KBytes  1.05 Mbits/sec  0.105 ms  0/90 (0%)
[  5]   4.00-5.00   sec   128 KBytes  1.05 Mbits/sec  0.766 ms  0/90 (0%)
[  5]   5.00-6.00   sec   128 KBytes  1.05 Mbits/sec  0.042 ms  0/90 (0%)
[  5]   6.00-7.00   sec   127 KBytes  1.04 Mbits/sec  0.066 ms  0/89 (0%)
[  5]   7.00-8.00   sec   130 KBytes  1.06 Mbits/sec  0.071 ms  0/91 (0%)
[  5]   8.00-9.00   sec   127 KBytes  1.04 Mbits/sec  0.075 ms  0/89 (0%)
[  5]   9.00-10.00  sec   128 KBytes  1.05 Mbits/sec  0.037 ms  0/90 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  1.25 MBytes  1.05 Mbits/sec  0.000 ms  0/899 (0%)  sender
[  5]   0.00-10.00  sec  1.25 MBytes  1.05 Mbits/sec  0.037 ms  0/899 (0%)  receiver

iperf Done.

Huawei 5g CPE Pro

Channels tried (identical issue across the board):

  • 40mhz (AX, CH36, CH100)
  • 80mhz (AX, CH36, CH100)
  • 160mhz (AX, CH36, CH100)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment