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

FPS Reduced from 60 to 30 During Gaming #600

Closed
nt1r opened this issue Jun 17, 2019 · 2 comments
Closed

FPS Reduced from 60 to 30 During Gaming #600

nt1r opened this issue Jun 17, 2019 · 2 comments

Comments

@nt1r
Copy link

nt1r commented Jun 17, 2019

Issue Description

Hello, I use scrcpy for playing games like PUBG Mobile.
FPS of the scrcpy reduced from 60 to 30 after scrcpy launched around 15 minutes.
This issue can reproduce on my devices. (Windows and macOS both)
image

Some Details

  • Android device connected to PC with USB.
  • Scrcpy version 1.9, with resolution 2240 * 1080 and bitrate 12Mbps
  • Scrcpy performed pretty well after launched. (around 60 fps watched by Ctrl + i )
  • Around 15 minutes later, FPS of scrcpy reduced to 30 during gaming.
  • In the whole test process, FPS of my android device maintains on 60.
  • I did not change bitrate or resolution of scrcpy during the whole test process.
  • I did not change graphic settings of the game during the whole test process.

Device Info

  • Windows10 x64
  • macOS Mojave
  • HUAWEI P20 (Android 9.0)

Log File

I tried to logcat the whole test process, but I don't know how to debug it. :D
If log file is needed, I will upload later.

@rom1v
Copy link
Collaborator

rom1v commented Jun 17, 2019

In the whole test process, FPS of my android device maintains on 60.

How do you check that?

Isn't it possible that a specific part of the game is rendered at 32 fps? (a frame is sent only when the device screen changes, so for example if you watch a movie at 25 fps, it will report 25 fps)

The client just counts the frame received from the devices, and none may be lost (they can be skipped), so if it reports 32 fps, then the device encoded 32 frames per second.

Maybe the encoder or something switch to some "low energy" mode, but I would be surprised. Maybe the device slows down to 32 fps for some reason, but that would also reduce the framerate on the Android device.

@nt1r
Copy link
Author

nt1r commented Jun 17, 2019

In the whole test process, FPS of my android device maintains on 60.

How do you check that?

Isn't it possible that a specific part of the game is rendered at 32 fps? (a frame is sent only when the device screen changes, so for example if you watch a movie at 25 fps, it will report 25 fps)

The client just counts the frame received from the devices, and none may be lost (they can be skipped), so if it reports 32 fps, then the device encoded 32 frames per second.

Maybe the encoder or something switch to some "low energy" mode, but I would be surprised. Maybe the device slows down to 32 fps for some reason, but that would also reduce the framerate on the Android device.

Sorry, it's my mistake. As you said, some scenes in game are actually rendered at 30fps, not my word 'maintain on 60 FPS'. This issue can be closed now. :D

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