Genymobile / scrcpy

Display and control your Android device
Apache License 2.0
112.21k stars 10.73k forks source link

Extremely Low FPS on DeX-Capable Samsung Phone After Restart #5276

Closed serifpersia closed 2 months ago

serifpersia commented 2 months ago

Low FPS Issue on Galaxy S9 with scrcpy After Restart

Device: Samsung Galaxy S9 OS: Android 10 Setup: Samsung DeX, scrcpy (USB/TCP), USB debugging, rooted device Issue:

After restarting or shutting down the phone, scrcpy exhibits extremely low FPS (1-3 max) when connected via USB or TCP. Despite this, the phone itself doesn't seem laggy (e.g., I get instant feedback from the home button vibration). Workaround:

Connecting the phone to an external display via a USB-to-HDMI hub (with charging, USB, and HDMI ports) and seeing the DeX desktop resolves the low FPS issue. After this, scrcpy works smoothly when reconnected to the PC (USB or TCP). Additional Info:

Disabling DeX and using normal Android mirroring over HDMI does not seem to fix the FPS issue (have to verify this again). The issue is not PC-related, as the same behavior occurs on multiple machines

Other Samsung phones without DeX, such as the Galaxy Note 4 or my Poco F3, do not experience this problem after phone shutdown or restart maybe due to them not having DeX feature. Anyone else with similar issue or is it my device? I can provide pre and post work around scrcpy display lists and further debugging if you provide me instructions on how to get to the information why is this happening.

TL;DR:

Low FPS on scrcpy after restarting Galaxy S9. Running DeX once fixes the issue.

serifpersia commented 2 months ago

Here is more about this. Expected result:

1

Showing lists of displays:

2

Showing slowdown after restart:

3

Showing display list after restart:

4

Showing fixed fps after connecting to hdmi dex display setup:

5

rom1v commented 2 months ago

I have no idea, it looks like the problem on the device system itself (which captures at low fps in some conditions).

If you record (scrcpy --record=file.mp4), the resulting file is also at 1~3 fps I guess?

serifpersia commented 2 months ago

I have no idea, it looks like the problem on the device system itself (which captures at low fps in some conditions).

If you record (scrcpy --record=file.mp4), the resulting file is also at 1~3 fps I guess?

I will try to record to a file. But yes on restart it seems the dex display is not initialized, when it does scrcpy works fine with display 0. I never had samsung phone with dex support they always worked fine no matter the restart. Would be good if someone with samsung dex phone( newer or similar age as mine)can chime in and report similar thing or is it just specific to this model.

EDIT: Yeah recording is same 1fps. Probably device/dex related.Going to close this, if someone finds a quick command solution let me know.