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

Multiple Client Sessions - 1st session FPS is forced on all subsequent clients #984

Closed
3 tasks done
Nonary opened this issue Feb 28, 2023 · 5 comments
Closed
3 tasks done
Labels
os:Windows OS is Windows stale

Comments

@Nonary
Copy link
Collaborator

Nonary commented Feb 28, 2023

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

When using the channels feature for multiple sessions, the framerate will be locked to the first session. Meaning if the first stream asked for 120fps, it does not matter what the other clients ask for... they will be forced to run at 120fps.

Expected Behavior

Subsequent clients should be able to ask for different framerate, at the very least... ones lower than the first session should be fine.

Additional Context

It might be much more difficult to fix the scenario where the first user asks for 30fps and subsequent clients ask for 60/120fps, but like mentioned above we should focus on allow clients request a lower framerate from a higher one.

Host Operating System

Windows

Operating System Version

11

Architecture

64 bit

Sunshine commit or version

0.18.4

Package

Windows - installer

GPU Type

Nvidia

GPU Model

4090

GPU Driver/Mesa Version

528.49

Capture Method (Linux Only)

No response

Config

N/A

Apps

No response

Relevant log output

N/A
@Nonary Nonary added bug Something isn't working os:Windows:10 os:Windows OS is Windows labels Mar 9, 2023
@Nonary
Copy link
Collaborator Author

Nonary commented Mar 12, 2023

This one is going to be very difficult to fix from my observations. It has to do with how the capture/encoding is being shared to all sessions and essentially, the capturing rate is determined by the first session. It doesn't seem like it would be possible to have the sessions have a different framerate than the main session.

Perhaps it might be possible if Moonlight enforced a frame limit?

Tagging @cgutman for some food for thought on that.

@shodanx2
Copy link

Maybe the sunshine server could just drop the excess frames that aren't key frames ?
Encoder resources would still be wasted on those frames but that would save the bandwidth

If not, maybe spawn a second encoder process (maybe easier to just run a second sunshine instance)?

In my case I have a center monitor running at 4k120hz and four side monitors running at 60Hz (maybe even 30Hz depending on bandwidth)

Using ffmpeg I noticed great performance improvements encoding multiple adjacent monitor with a single process and then cropping them for each client, I assume this is how sunshine does multiple monitors so the encoding of multiple monitors cannot occur at various framerates.

@LizardByte-bot
Copy link
Member

This issue is stale because it has been open for 90 days with no activity. Comment or remove the stale label, otherwise this will be closed in 10 days.

@LizardByte-bot
Copy link
Member

LizardByte-bot commented Oct 12, 2023

👋 @Nonary, 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 Oct 23, 2023
@ReenigneArcher ReenigneArcher removed the bug Something isn't working label Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
os:Windows OS is Windows stale
Projects
None yet
Development

No branches or pull requests

4 participants