moonlight-stream / moonlight-android

GameStream client for Android
GNU General Public License v3.0
3.23k stars 512 forks source link

[Issue]: Brutal mouse latency #1245

Open Chacal1988 opened 9 months ago

Chacal1988 commented 9 months ago

Describe the bug

Mouse latency its about 100-120ms laggy wich makes any game unplayable, only maybe desktop use is tolerable. I´ve tryed everything but nothing fixes this problem. Maybe using the Android cursor is could be a solution. At least fow desktop usage and real time strategy games. I can make the Android cursor apear by windowing the Moonlight app on my tablet with Android 13. That mitigates the latency but makes the screen so small that is useless.

Steps to reproduce

ALways

Affected games

All

Other Moonlight clients

PC

Moonlight adjusted settings

Yes

Moonlight adjusted settings (please complete the following information)

Non

Moonlight default settings

Yes

Gamepad-related connection issue

Yes

Gamepad-related input issue

Yes

Gamepad-related streaming issue

Yes

Android version

13

Device model

Lenovo Tab 13

Server PC OS version

Win 10

Server PC GeForce Experience version

Last

Server PC Nvidia GPU driver version

Last

Server PC antivirus and firewall software

Windows

Screenshots

No response

Relevant log output

No response

Additional context

No response

cgutman commented 9 months ago

That's terrible latency. Can you enable the performance overlay and see what decoding time is? Is the issue limited to only mouse input or does it also affect gamepad input?

Can you compare with the host display to see if the latency is the mouse input going from the client to the host or the video going from the host to the client?

Chacal1988 commented 9 months ago

@cgutman Excelent questions, ill answer them: Decoding timen is super low (less than 5ms always). Issue is related to mouse only, everything else is ultra fast. Host display is laggy too, and if i move the USB mouse from the host computer i can see the movement instantly happening in the Android 13 tablet client with less than 30ms. (I can perfectly measure the input lag by filming the screen and the physical mouse at the same time with 240fps camera and checking the time distance between the mouse movement and the cursor response on the screens).

Chacal1988 commented 9 months ago

@cgutman i have a phone with Android 12 too, and mouse latency is exactly the same. Network and decoding speeds are super fast! Less than 5ms both

Chacal1988 commented 9 months ago

@cgutman i will try to explain better: Lag is only happening when i move the mouse in the client android device. Everithing else like video transmision, decoding times, network times, and gamepad input is ultra fast!

hoonlight commented 8 months ago

Do you use a wireless mouse? Bluetooth or wifi?

Chacal1988 commented 8 months ago

@archive-r i try all. Wifi, bt, and usb. And multiple brands too. Gaming mouses and standar mouses. Bt mouses have some extra 10ms latency but all mouses are above 100ms.

Chacal1988 commented 8 months ago

Latency is very reduce when using Nvidia software in the server windows PC. Latency is brutal only when using Sunshine. I try touching every option, every config, but no luck. Using Sunshine always add brutal mouse latency no matter what i do, what client, or Android version, or server or software, it just adds a lot of latency.

cgutman commented 8 months ago

What version of Sunshine are you using? The nightly build has some input batching code that's not present in v0.20.

sambuev commented 2 months ago

Please help me too, I run Sunshine on my PC and Moonlight on my Android Tablet with mouse and keyboard, it works perfectly with Parsec, but with Moonlight the delay is huge and very significant, I looking for solution, I remember I tested moonlight back in 2022 and now it's 2024 and the issue is still here. I feel so bad. Test it on your Android and you'll see the issue with mouse.

Chacal1988 commented 2 months ago

Please help me too, I run Sunshine on my PC and Moonlight on my Android Tablet with mouse and keyboard, it works perfectly with Parsec, but with Moonlight the delay is huge and very significant, I looking for solution, I remember I tested moonlight back in 2022 and now it's 2024 and the issue is still here. I feel so bad. Test it on your Android and you'll see the issue with mouse.

There is no fix for that. Sorry :(

sambuev commented 1 month ago

I actually found solution: Ctrl+Alt+Shift+C - makes my mouse visible. and Ctrl+Alt+Shift+N hides the remote-mouse.

Works perfectly for me on Android Client and I read it also works for PC client.

angieEncoded commented 2 weeks ago

Well, that masks the problem. It does 'work' in that it tricks our brains, but behind the scenes the lag still exists.

It's very strange that it's only present with mouse input - bluetooth gamepad has no noticeable lag. Very responsive. For now I have been using the workaround on my portable setup. Samsung S9 Ultra running Android 14 and OneUI 6.1. The mouse and keyboard combo I am using is the ProtoArc XKM01. The gamepad is an 8bitdo 80DB. The PC running Sunshine is a Windows 10 desktop host and it is running Sunshine version: v0.23.1 which is the latest as of this post.

No lag with keyboard, no lag with gamepad, only a problem with the mouse.

I'm happy to provide any other details, logs, etc. Anything that might help. Thanks.