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

Unable to capture FPS faster than refresh rate #2195

Closed
3 tasks done
trudnorx opened this issue Feb 29, 2024 · 7 comments
Closed
3 tasks done

Unable to capture FPS faster than refresh rate #2195

trudnorx opened this issue Feb 29, 2024 · 7 comments
Labels

Comments

@trudnorx
Copy link

trudnorx commented Feb 29, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Is your issue described in the documentation?

  • I have read the documentation

Is your issue present in the nightly release?

  • This issue is present in the nightly release

Describe the Bug

Say a game is consistently running at X fps (higher than Y and Z), Sunshine is asked to deliver Y fps, which is higher than monitor refresh rate of Z Hz. Sunshine proved unable to deliver any frame rate higher than Z. Only while moving the cursor did Moonlight report a FPS of Y being delivered, but this was of little value to the user because the game kept being actually delivered at Z FPS (perhaps only the cursor was updating faster?). A test on the same machine with OBS being asked to capture Y FPS proved that OBS game capture was able to successfully record the game at an actual rate of Y FPS.

Expected Behavior

No response

Additional Context

No response

Host Operating System

Windows

Operating System Version

Architecture

32 bit

Sunshine commit or version

0.21.0

Package

Windows - installer

GPU Type

Nvidia

GPU Model

GPU Driver/Mesa Version

Capture Method (Linux Only)

No response

Config

-

Apps

No response

Relevant log output

-
@Originalimoc
Copy link

Originalimoc commented Mar 3, 2024

Your cursor is drawn by GPU. The main frame is copied from (dwm?). OBS is probably using a different API, can it record UAC prompt?

@Slashic
Copy link

Slashic commented Mar 20, 2024

OBS has a different method of capture, akin to Steam remote play, they can capture the DX/GL render target window instead of the whole framebuffer, this has several advantages like not being bound to the monitor refresh rate/aspect ratio and perfectly reproduce adaptive sync on the client using variable frame rate.

This could be a nice feature added to Sunshine but not an easy one to implement for sure.

@Nonary
Copy link
Collaborator

Nonary commented Mar 23, 2024

Sunshine will capture the frame rate of the game, the refresh rate of the host does not matter at all. You most likely have vsync enabled, which causes the game to render at a lower frame rate. Or the game itself is rendering at a lower frame rate, due to the way how Sunshine captures the game there is no way for us to fix this.

Other products that captured at a constant frame rate had microstuttering problems due to uneven frames.

@Nonary
Copy link
Collaborator

Nonary commented Mar 23, 2024

FWIW, once #2149 is completed there is an option for constant capturing rate which would "fix" this issue, but you'll notice microstuttering problems due to uneven frame pacing like i mentioned before, so I am skeptical this is even possible to resolve.

@trudnorx
Copy link
Author

trudnorx commented Apr 16, 2024

You most likely have vsync enabled, which causes the game to render at a lower frame rate.

Pls read what I stated carefully. The game is successfully rendering at a higher FPS than the monitor's refresh rate, but Sunshine fails to capture anything higher than the refresh rate. Unlike OBS.

@LizardByte-bot
Copy link
Member

It seems this issue hasn't had any activity in the past 90 days. If it's still something you'd like addressed, please let us know by leaving a comment. Otherwise, to help keep our backlog tidy, we'll be closing this issue in 10 days. Thanks!

@LizardByte-bot
Copy link
Member

This issue was closed because it has been stalled for 10 days with no activity.

@LizardByte-bot LizardByte-bot closed this as not planned Won't fix, can't repro, duplicate, stale Jul 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants