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

Rendering issues when small changes to image occur #615

Closed
3 tasks done
jmyoung opened this issue Dec 23, 2022 · 7 comments
Closed
3 tasks done

Rendering issues when small changes to image occur #615

jmyoung opened this issue Dec 23, 2022 · 7 comments
Labels
fixed This issue has been fixed and will be available in the next release. invalid:duplicate This appears to be a duplicate of a pre-existing issue.

Comments

@jmyoung
Copy link

jmyoung commented Dec 23, 2022

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

Bit of an odd issue, sorry if I can't describe it completely clearly, but it's 100% repeatable. I'm putting it here because this problem happens with Sunshine, and does not happen with Gamestream, with all other components being the same.

The Playnite game launcher (full-screen), when run through Sunshine exhibits some unusual behaviour. If you use keys (not moving the mouse) to move across the categories on the top of the screen, they move as expected (with each category highlighting in orange) on the actual computer monitor, but the output stream does not show the change to display. If you wait approximately 10 seconds, the output stream snaps to consistency with what's on the computer monitor.

Interestingly, if Playnite is in the process of updating a library, so there's a spinning wheel on the bottom right of the screen, the above behaviour doesn't happen. It only happens when the only display change happening is the highlighted category, or navigating the menus. Scrolling through game thumbnails doesn't cause this (likely because of the large amount of pixels being changed?).

I suspected this might have been a DwmFlush issue, so I've tried toggling that. No effect. I've tried various other encoder tweaks, also to no effect.

To be clear, this problem does not happen when using either Gamestream or when using Steam Link. This only happens when using Sunshine. And in addition, the actual computer monitor displays state correctly, it's the stream that does not.

I'm not able to replicate this with any other application, only Playnite, but I can replicate this with Playnite 100% of the time. I suspect that Playnite may not be sending some window update or something similar, and so Sunshine doesn't "know" the window has been updated until it hits a key frame in the stream and then sends a full frame, causing the output stream to update. But that's pure conjecture.

Expected Behavior

Expect that stream output corresponds 100% to output on the associated computer monitor.

Additional Context

Using latest version of Playnite (happens both with hardware acceleration on and off), and latest version of Sunshine. Operating system is Windows 11 22H2, nVidia driver version is 526.47, client is nVidia Shield 2017 running current release of Moonlight.

nVidia Control Panel settings have vSync set to default, monitor is set to fixed refresh, 4k60hz.

Host Operating System

Windows

Operating System Version

Windows 11 22H2

Architecture

64 bit

Sunshine commit or version

v0.16.0

Package

Windows - installer

GPU Type

Nvidia

GPU Model

EVGA Geforce RTX 3080

GPU Driver/Mesa Version

526.47

Capture Method (Linux Only)

No response

Relevant log output

No response

@ReenigneArcher
Copy link
Member

You checked that you confirmed the issue is present in the nightly release, but I'm 99% certain the issue you describe has already been fixed. Please test the nightly version and report back.

@jwkim930
Copy link

jwkim930 commented Dec 23, 2022

Glad to find someone having a similar issue as mine! It’s not fixed as of 0.16.0 in my system (Windows 11 Host, iPad client, NVENC encoding).

In my case, I tested using touchscreen input, and noted that exactly 2 frames get “queued up” before getting sent to my device. That is, when I instantly move the mouse cursor in the screen by using the touchscreen, the cursor is always at where I tapped 2 taps before (while it is correct on the host display). And this happens regardless of the input method (I can notice it in typing too, for example).

@ReenigneArcher
Copy link
Member

v0.16.0 is not the nightly release -> https://github.com/LizardByte/Sunshine/releases/tag/nightly-dev

Check it and let me know if it resolves the issue.

@jwkim930
Copy link

v0.16.0 is not the nightly release -> https://github.com/LizardByte/Sunshine/releases/tag/nightly-dev

Check it and let me know if it resolves the issue.

It seems like the issue is gone on that version. Thanks for your help!

@ReenigneArcher ReenigneArcher added fixed This issue has been fixed and will be available in the next release. invalid:duplicate This appears to be a duplicate of a pre-existing issue. labels Dec 23, 2022
@ReenigneArcher
Copy link
Member

Duplicate of #122

@ReenigneArcher ReenigneArcher marked this as a duplicate of #122 Dec 23, 2022
@LizardByte-bot
Copy link
Member

This issue has been fixed and will be available in the next release.

@LizardByte-bot
Copy link
Member

👋 @jmyoung, this appears to be a duplicate of a pre-existing issue.

@LizardByte LizardByte locked and limited conversation to collaborators Dec 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
fixed This issue has been fixed and will be available in the next release. invalid:duplicate This appears to be a duplicate of a pre-existing issue.
Projects
None yet
Development

No branches or pull requests

4 participants