I would like to ask you guys, what is your experience using scrcpy? My experience is bad and I wonder if there are others in the same boat with me, because as far as know, this topic has been not discussed here so far.
If I run scrcpy (the latest version 2.3.1 or the earlier versions in the past) no mater on connection, whether via USB or WiFi, no mater to what device, whether phone running Android 13 or TV box running Android 11, it is not well responsive, lags sometimes and drops a ton of frames all the time, see here (the WiFi example, but it is exactly the same for USB too):
tux@rock5b ~> SDL_VIDEODRIVER=wayland scrcpy --tcpip=192.168.1.110 --print-fps
scrcpy 2.3.1 <https://github.com/Genymobile/scrcpy>
INFO: Connecting to 192.168.1.110:5555...
INFO: Connected to 192.168.1.110:5555
/usr/local/share/scrcpy/scrcpy-server: 1 file pushed. 2.3 MB/s (66007 bytes in 0.027s)
[server] INFO: Device: [Xiaomi] POCO M2012K11AG (Android 13)
INFO: Renderer: opengl
INFO: OpenGL version: 3.3 (Compatibility Profile) Mesa 23.0.0-devel
INFO: Trilinear filtering enabled
INFO: [FFmpeg] Picture format is yuv420p.
INFO: Texture: 1080x2400
INFO: [FFmpeg] Decoder noticed an info change
rga_api version 1.9.3_[0]
INFO: FPS counter started
INFO: 7 fps (+5 frames skipped)
INFO: 22 fps (+14 frames skipped)
INFO: 10 fps (+48 frames skipped)
INFO: 4 fps (+44 frames skipped)
INFO: 30 fps (+26 frames skipped)
INFO: 21 fps (+26 frames skipped)
INFO: 10 fps (+8 frames skipped)
INFO: 2 fps (+1 frames skipped)
INFO: 20 fps (+19 frames skipped)
INFO: 14 fps (+16 frames skipped)
INFO: 12 fps (+12 frames skipped)
INFO: 16 fps (+10 frames skipped)
While even the old scrcpy version used with the same phone but on Windows 11 runs like a charm with no frames skipped and at nice frame rates (phone screen has 60 Hz refresh rate), see:
C:\Users\win\bin\scrcpy-win64-v1.24> .\scrcpy.exe --print-fps
scrcpy 1.24 <https://github.com/Genymobile/scrcpy>
C:\Users\win\bin\scrcpy-win64-v1.24\scrcpy-server: 1 file pushed, 0 skipped. 67.0 MB/s (41159 bytes in 0.001s)
[server] INFO: Device: Xiaomi M2012K11AG (Android 13)
INFO: Renderer: direct3d
INFO: Initial texture: 1080x2400
INFO: FPS counter started
INFO: 10 fps
INFO: 8 fps
INFO: 39 fps
INFO: 48 fps
INFO: 61 fps
INFO: 59 fps
INFO: 39 fps
INFO: 54 fps
INFO: 60 fps
INFO: 60 fps
INFO: 26 fps
INFO: 60 fps
INFO: 48 fps
INFO: 38 fps
INFO: 47 fps
INFO: 38 fps
INFO: 25 fps
WARN: Killing the server...
I already tried the --render-driver=software
parameter. It seems to be a bit better, but the difference is really marginal. The screen record made by --record
shows exactly the same as I see in the scrcpy window.
Really nobody else with the same experience out there?