Greetings.
I just tried scrcpy for the first time, and I really like the concept.
One thing that confuses me, however, is the many references to great performance, and lack of negative reports here on github, when my first & only convenient experience with it seemed to suffer greatly.
Is there anything I can do to help find, diagnose, or workaround this bottleneck?
Details:
Observations:
What I have tried:
Next I'll try a "real" phone :-) ... whenever I find the time.
Thanks for making this! & making it open-source!
Almost forgot! This was the only interesting logcat statement I could find (repeated, but not incessantly):
07-23 14:32:18.859 1760 19397 E GraphicBufferSource: mLatestBufferUseCount is already 0.
There were also some debug messages about audio codec latency tokens, but they didn't seem super-interesting:
07-23 14:32:18.859 1760 19394 I VDO_LOG : [WRAPPER] ReleaseYUV
07-23 14:32:18.859 1760 19394 I VDO_LOG : [WRAPPER] UpdateBitstreamWP
07-23 14:32:18.859 1760 19394 I VDO_LOG : Encode size 175
07-23 14:32:18.859 1760 19394 D MtkOmxVenc: [0xb0e72800] AVC EncTime=84, RGB_2_YUV=0, buf timestamp=303242289 (303242289910) IsKey(0), Size(175) : in VA=0xAF81C460, offset=0x00000000, t=303242289910, len=12, flags=0x00000010 : out VA=0xA9D40000, offset=0x00000000
07-23 14:32:18.859 1760 19394 D MtkOmxVenc: [0xb0e72800] b0e72800 EBD (0xB5499460) (0xAF81C460), mNumPendingInput(0)
07-23 14:32:18.859 1760 19394 D MtkOmxVenc: [0xb0e72800] b0e72800 FBD (0xB5499280) (0xA9D40000) 303242289910 (175), mNumPendingOutput(7)
07-23 14:32:18.859 1760 19397 E GraphicBufferSource: mLatestBufferUseCount is already 0.
07-23 14:32:18.860 19377 19392 D ACodec : give LatencyToken 541, 175
07-23 14:32:18.860 19377 19392 D ACodec : [OMX.MTK.VIDEO.ENCODER.AVC] onOutputBufferDrained ID 13
the CPU usage on the android device seems to be quite low! (~3%)
What about the CPU usage on the computer?
There is no noticeable increase in cpu load while scrcpy is running (about 2% of one core).
Does it work better if you record your device screen:
adb shell screenrecord /sdcard/file.mp4
adb pull /sdcard/file.mp4
?
Yes. With that method, the frame rate is perfect.
One thing I notice, is a peculiar assortment of resolutions in the diagnostic output...
scrcpy startup:
screenrecord startup:
Playing the screenrecord output file:
And with:
scrcpy -m640
?
Wow! It's suddenly quite usable! How did I overlook that? Thanks!!!"
Is there anything more to be gained by this ticket, or should it be closed?
OK, so your device hardware may not encode video fast enough above 640px. On "real" devices, it should work at 50~60 fps at 1920脳1080.
Most helpful comment
Wow! It's suddenly quite usable! How did I overlook that? Thanks!!!"
Is there anything more to be gained by this ticket, or should it be closed?