Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Low fps / high latency on Redmi Note 5 #798

Closed
wehrwolfi opened this issue Sep 10, 2019 · 7 comments
Closed

Low fps / high latency on Redmi Note 5 #798

wehrwolfi opened this issue Sep 10, 2019 · 7 comments

Comments

@wehrwolfi
Copy link

Hello !
First of all, many thanks and congratulations to your project that I use everyday for random screen mirroring of my phone on PC.

I have a Xiami Redmi Note 5 and used SCRCPY on various Windows 10 computers (i5, i7, AMD...).

When I use SCRCPY for just "surfing" on my phone, it's OK and perfect. If I set it to 1:1 pixel, the picture is great.

But when it comes to gaming (tried it on Modern Combat 5, Republique, Awakening)... it's impossible to use, no matter which parameter I enter (I tried to play with bandwidth, with screen resolution, with frame skipping, ctrl+G, ctrl + F, even tried to record...).
On such games, my FPS is about 10-15 FPS with an hight input lag that makes it impossible to play.
On my phone screen, everything is smooth.

I tried to disable battery saving mode, or game performance enhancing from MIUI. Tried different USB cables... nothing.

Could you please help ? I'm very frustrated as I have found the perfect app but this particular application doesn't work for me.

Many thanks in advance !

@rom1v
Copy link
Collaborator

rom1v commented Sep 10, 2019

But when it comes to gaming (tried it on Modern Combat 5, Republique, Awakening)... it's impossible to use, no matter which parameter I enter

Even with a lower definition?

scrcpy -m 800

even tried to record

If you record, is the recorded file "laggy"?

I guess the device is not powerful enough to render a 3D game and record screen simultaneously…

@wehrwolfi
Copy link
Author

Yes, I have even tried -m 400.
The recorded file doesn't seem laggy but you notice the lag mostly because of delay between phone and PC, like 2 seconds.
I'm surprised that this device could be considered as not powerful enough as it has a good Antutu score and I can play all recent games on it without any problem.

@wehrwolfi
Copy link
Author

On the video file properties I can see FPS=17, and bitrate=637kbits/s

@rom1v
Copy link
Collaborator

rom1v commented Sep 10, 2019

you notice the lag mostly because of delay between phone and PC, like 2 seconds.

The timestamps of the video frames are generated on the device-side, so if you can notice the lag in the recorded file, it occurred on the device before transmission to the PC :(

@wehrwolfi
Copy link
Author

wehrwolfi commented Sep 10, 2019

OK, thank you for your help. Strange thing is, as I said, that even when mirroring, I can play with no problem on my phone's screen with no lag.

Could it be a problem with ADB driver ? My thought is that if ADB was not working I shouldn't be able to connect at all.

EDIT : I tried installing ADB drivers and still same problem. Also tested different USB modes : PTP, data transfer. Doesn't seem to help. I guess it's again a Xiaomi problem.

@wehrwolfi
Copy link
Author

Hello,
I did further testing and I must say that rom1v is probably right. The Redmi Note 5 is maybe not powerful enough to play high end games and cast at the same time. I didn't realize that casting would be so demanding.

I tested various other methods : google cast, apowermirror... with different other parameters, changing compatibility parameters in windows, trying different adb drivers, disabling some developer options in MIUI. But the result was always similar (I must say that SCRCPY is the best way to mirror among the ones I tested).

I noticed that command was sent to smartphone with absolute no latency, for example when clicking or aiming with mouse, it did appear instantly on the phone, but like 1-2 seconds later on PC screen. So the problem is really the transfer of the graphical data.

Then I tried to lower the detail level in Modern Combat 5, I was at maximum, and I chose "performance instead quality". And then... no more latency, it's absolutely playable now.
The FPS seems to be blocked at around 25fps but the most important for me is that there is no noticeable latency.
This test seems to confirm that the latency was created because smartphone was not powerful enough to cast and run an high end game at the same time.

Trying on a simple NES Emulator had good results too.

So... I would like to thank you for your help and after ours of various testing, I just have to admit that I wont be able to play high res games on my TV ;)

@rom1v
Copy link
Collaborator

rom1v commented Sep 12, 2019

Thank you for your feedbacks 👍

The FPS seems to be blocked at around 25fps

The game is probably rendered at 25fps on the device: #600 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants