High polling rate mouse possibilities

Hi!

I found that my mouse seems to act up in the form of mouse jittering beyond 125-250hz of polling rate which is slightly dissappointing in a remote gaming setup on my TV using VirtualHere for USB passthrough for keyboard, mouse and gamepads from my living room couch.

There seem to have been posts about this previously in the last 10 years of VirtualHere's existence. Are there any developments on this, can we expect any or are we locked into the lower range of the polling rate for gaming mice with USB-over-IP? any advice welcome (I am considering running a long usb cable just for my mouse at this time even).

Thanks!


context: currently running VirtualHere server on a jetson nano 4GB that I had laying around (seems to max out at 35% cpu usage even with the polling rate at 1000hz). client on a windows PC. GbE ethernet connectivity between the devices.

I notice that in some posts it is mentioned that you should check your network latency via USB server -> about -> statistics/latency but I don't seem to have that option to check this. I tried testing the connection with iperf3 and that shows a stable 950mbps with <1ms of latency.
 

#2

Its basically network and CPU latency.

1000Hz is (at least) 1000 packets a second, therefore 1 packet per ms. So even a slight (network/CPU) latency added per packet will be multiplied 1000 times per second.

Mouse messages cannot be buffered or predicted so they must each be sent when they are ready. Its not something that can be "fixed". You need a faster cpu and/or faster network. 

A USB Cable does not have network contention or CPU involvement so its always going to be faster than sending it via TCP

#3

Hi Michael, Thanks for responding on a sunday!

Is there some way I can measure which one of the 2 is the problem? the network or the cpu? I am willing to upgrade either.

#4

I'm in Australia, so its Monday morning :) 

Can you run "top" on the nano and then see what vhusbdarm64 shows as usage.
Then lookup on the second row and see what cpu usage shows for usr/sys/io/idle . What does that generally show?

#5

Let's see, I checked top and htop for per core usage for virtualhere with 1000hz polling speed on my mouse.
The process seems to fully dissappear when I don't use my mouse. An immediate observation here is that it looks like the usage seems to be at only 10% right now whilst it was at 30+% when I previously inspected top on my embedded device...
The cpu seems to almost fully idle when not using my mouse.

With mouse at 1000hz polling speed
top: https://imgur.com/a/kJLRYCw
htop: https://imgur.com/a/ffhoYLv 
CPU usage of the virtualhere process scales linearly with the mouse polling rate. 2.5% ~ at 250hz 5% at 500hz 

The mouse jittery issues seem to also not show up right now, something that increases the cpu usage of virtualhere suddenly? I didn't change anything on the embedded device as can be seen on the uptime of the virtualhere process and the device itself since creating this post.
 

#6

Its probably your network. That would be my guess. 10%cpu at 1000Hz means its not CPU bound and its ok. (The cpu can go up to 400%)