-
-
Notifications
You must be signed in to change notification settings - Fork 10.7k
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
performance factors #1537
Comments
It takes a bit more time to encode/decode a big video than a small one. And the bandwidth is also not the same (more data to transmit, to parse, etc). So in practice, when mirroring in 1920×1080, the latency is about twice as high as when mirroring in 800×448: #646. |
Why does it take 2x more time to transmit FHD frame compared to 800? Is it the CPU , GPU or code? |
I think the main latency increase is the encoder (on the device) and the hardware decoder (on the computer). |
How can we improve the encoder and decoder performance? Considering 8 cores on mobile and a i7 desktop cpu |
Your encoder and decoder are probably hardware components (independent of CPU) dedicated to H.264 encoding/decoding. The only possible ways to decrease latency is to decrease encoding complexity, by changing encoding parameters. The most obvious are width and height, but you could play with others, especially profile/level. You could custom these options using |
Thank you Very much for answering According to this very fast profile can be used to increase faster encoding , the con would be very high file size. Can I use this with scrcpy |
The encoding is done on the device side. One frame is sent every time the surface changes, no more. So if you run an app that renders at 60 fps, you'll get 60 fps. If you play a 25 fps video, you'll get 25 fps. If you don't get more than 60 fps, the device does not render more than 60 frames per second (many devices displays are limited to 60Hz).
No, the bandwidth of USB 2.0 is enough to transmit the video stream, it should not change anything. |
Thank you once again. |
High end chipsets are probably better (but they are "more" better on low definition).
Did you try changing the profile/level? #1537 (comment) |
i think is a cpu performance no enough, not the usb2.0 cable bandwidth problem,. see my issue |
under right circumstances scrcpy can achieve very low latency. You should be seeing low latecy |
I wonder what are the factors that plays role in performance
In terms of no of frames, resolution, bit rate and latency .
why does FHD resolution has more latency than 800? is it the cpu on mobile or desktop or its limited due to adb speed?
The text was updated successfully, but these errors were encountered: