tr4npt

add option to support high-report-rate (i.e. gaming) mice

3 posts in this topic

Many mice support report rates of up to 1000 Hz.  While this is great for gaming, it is horrible when used with Synergy.  It causes so much lag because the network cannot keep up with all the mouse events.  I had to reduce my mouse report rate to 250 Hz, and that still lags if I use Synergy over WIFI (it's fine over ethernet).

It would be nice to have an option in Synergy to merge/reduce the mouse events being passed between machines.  For example, combine all the mouse move events within a certain time period and send out a single mouse mouse event every x milliseconds (e.g. 8 ms for 125 Hz).  This will reduce network traffic while maintaining responsive mouse input for the local machine.

  • Like 1

Share this post


Link to post
Share on other sites

I like this throttling idea, but I have a few questions.

Should this be tied to an option to only throttle over WIFI? Most people only have lag issues over wireless.

Are you sure that you want to have blocks of events sent to a client? I can see that causing issues itself.

Does it lag over Ethernet at your highest setting? What is your highest setting?

What happens when you use the mouse natively on the client?

Can you confirm (via objective data) that the lag issues you experienced are communication related and not CPU?

Lastly, can you give a real world example of how this effects you? What are you doing and what results do you get?

Share this post


Link to post
Share on other sites

No, I think it should be an option to reduce network traffic in general.  There's no need to send 1000 mouse mouse events per second, even though I have gigabit ethernet.  It does lag over ethernet at 1000 Hz, although it is still usable.  The lag is less noticable at 500 Hz, and not noticable (over ethernet) at 250 Hz.

I didn't suggest sending blocks of events.  I meant that all the of recent mouse move events should be combined into one mouse move event to send to the client.  For example, take all the mouse move events for the past 8 (or any customizable value) milliseconds and process them as relative mouse moves, resulting in one simulated mouse move event that is sent to the Synergy client.  Using 8 ms (125 Hz), this would be 8 times less network traffic for a 1000 Hz mouse, although I think we could get it down to 30 Hz for even better performance.

If it lags over wifi, then stops lagging when I plug in an ethernet cable to the client, wouldn't that confirm that the issue is due to network communication/bandwidth?  I think this should be sufficient, but I can perform a specific test if you think it will help.

So with a high report rate selected on my local (server) mouse, everything works fine on my local machine.  As soon as I move the cursor over to my laptop (over wifi), all mouse and keyboard input starts lagging.  Also the entire wifi network slows down for everybody in the house because of all the mouse events.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now