-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Sunshine server limits the FPS of *some* games even when not streaming #3703
Comments
Have you tried the game in Windowed Fullscreen mode? I have found frame-gen doesn't seem to pass to client for me in Fullscreen mode with all titles. |
Does the problem go away if you uncheck this option in Sunshine NVENC settings?
|
Yes, that was it @andygrundman! The problem is not present if I uncheck that option. Looking at the description of the option it looks like it's not actually succeeding at its purpose. |
Yeah it's the only thing I know of that Sunshine could affect while not streaming. I don't know the history of this feature but there's probably a good reason it doesn't get enabled on-demand only during streaming. If you Google for the name of the Nvidia control panel setting "Prefer layered on DXGI Swapchain" you'll find a lot of discussion about it on Reddit. I just looked at your log again and noticed you have a 3090, but you also mentioned using framegen. Did you mean the Lossless Scaling tool? I wish they hadn't used the same term, it leads to a lot of confusion. From what people have said whatever that tool does has a problem getting captured by Sunshine. I wonder if that could also mess with the stream framerate (i.e. the generated frames are all getting lost for some reason). |
I actually never mentioned it, did I? 😆 @buthig666 did also mention it, which I found a bit weird, so I don't know where the confusion comes from. I said that I limit my FPS via nvidia control panel. I have an upper limit of 121 because I set my screen refresh rate to 120 fixed hz (and I also use Fast vsync so I discard 1 frame per second). Given that configuration, Sunshine will limit my FPS in-game (Doom Eternal) to exactly half of the limit I set on NCP. |
It was in the Sunshine log. Well you've actually just solved the problem! Fast Vsync is a tricky setting that is probably not very relevant these days, and due to the tricks it employs, it's not compatible with streaming video capture. It causes frames to not be captured correctly, and is exactly what you've described. I should have thought of this but it's a very obscure setting. There should probably be some detection and warning around this setting actually... I would recommend to disable vsync on the host, limit in the control panel to your client's framerate (or -3 fps if client has a VRR display). The client can enable vsync or if you have a VRR/G-sync display, don't enable vsync and as long as the framerate from the server remains within the VRR range you will avoid any tearing. |
Not sure if you meant that vsync was the cause, but I've re-enabled the check, and disabled fast vsync, but the problem came back. |
OK, I am at least pretty sure that fast vsync can cause problems. I suppose it's actually off-topic for this bug but you might need to compare vsync modes in a non-Vulkan game to see if fast vsync causes stream issues. I'm not sure what to do about the DXGI setting, I think it's just a current limitation of Sunshine's capture method. There is a second capture method (Windows Graphics Capture) which has its own set of issues, and I don't know if it works better with Vulkan games. |
The main problem being that some settings are system-wide and are always enabled, even when not streaming. But I guess it's kinda inevitable. |
Is there an existing issue for this?
Is your issue described in the documentation?
Is your issue present in the latest beta/pre-release?
I'm too lazy to test (I had the problem in an older version, and also in the latest release version)
Describe the Bug
When I launch Doom Eternal (Vulkan, exclusive fullscreen) it is limited to HALF the max FPS I set in nvidia frame limiter.
My screen is configured with fixed refresh rate of 120hz and I have 121 fps limit in nvidia settings:
Other games are unaffected (like Counter Strike 2).
Expected Behavior
I expect Doom Eternal (and maybe others) FPS to not be limited in any way while Sunshine is running in the background and I'm not streaming to any client.
Additional Context
I checked my settings, and I disconnected all my clients and restarted Sunshine, but the problem persists. I've installed the latest Sunshine version, and the problem persists.
Host Operating System
Windows
Operating System Version
10, build 19045.5555
Architecture
amd64/x86_64
Sunshine commit or version
v2025.122.141614
Package
Windows - installer (recommended)
GPU Type
NVIDIA
GPU Model
RTX 3090
GPU Driver/Mesa Version
572.16
Capture Method
None
Config
Apps
Relevant log output
The text was updated successfully, but these errors were encountered: