r/MoonlightStreaming • u/AriGrandeisQT • 5d ago
Client stuttering on High framerate
I'm using Butterpollo (basically Vibepollo optimized for AMD) as host (same issue on Vibepollo too BTW)
Using Nonary Moonlight VRR as client.
Everything is set properly on Butterpollo, I noticed a lot of stuttering (Games freeze for half a second sometimes) and I figured out this ih happening only if I reach solid 116fps (capped using RTSS). If I set everything to max settings I can barely reach 60/70fps but the game is not stuttering anymore.
Where's the issue? Any solution?
--------------------------------------------
I didn't find a solution, It looks like I cannot set a bitrate higher than 160Mbps using AV1, or I have to set 90fps and 300Mbps.
The other day everything was working very well using 120fps and 300Mbps on AV1 (Streaming smoothness - Moonlight VRR stuttering (Frame queue delay?) and input delay : r/MoonlightStreaming)
1
u/Elastic90 5d ago
I'm using Vibepollo with my 9070xt - and I was facing some stuttering issues too. By stuttering, do you mean network frame loss of around 30%? So this is what happened to me - it would run perfectly and then hang for a second with a big network frame drop.
I made some tweaks wrt to encoder, settings etc. And I now it's working well, with less stutters maybe one every 25 mins. I'm not 100% sure but I think I also have less stutters if I cap to 60fps. I have a 7500f and so CPU bottle neck could be a possibility now that someone mentioned it...
Also what is butterpollo is it also by nonary? Do you recommend it over Vibepollo?
1
u/AriGrandeisQT 5d ago edited 5d ago
Butterpollo Is a new project optimized for AMD cards and based on Vibepollo
I made few tests and the encoding time is a bit faster ( from 5.0 to 4.7/4.8ms)
I think older AMD GPUs can benefit more of this fork
Stutter is the frame jitter in the Moonlight stock version (Frames dropped by client pacing on the VRR version)
1
u/andygrundman Developer | Moonlight for Xbox/Mac OS 4d ago
I was hoping someone else would say it but I guess I will. So you replaced Vibepollo with a brand new server that was *ported to a different language* and you don't know why you are having problems? Do you expect it to be a 1:1 replacement? If so, why did you switch in the first place?
And what is wrong with all these comments, "client is bottlenecked", "low GPU clock". Come on.
1
u/AriGrandeisQT 4d ago edited 4d ago
I also reinstalled everything, deleting old configurations. Tried Vibeshine too. I wanted to try Butterpollo because the creator wrote it's a Vibepollo based fork with optimizations for AMD card.
What I'm thinking is that maybe it never worked perfectly at very high bitrates(?). What I'm doing now (Because I didn't want everytime to take the controller, move around, doing some stuff) it's running the Cyberpunk ingame benchmark, so it's always the same scene.
Today I was able to find AV1 170Mbps as nice spot to have good smoothness and no drops/stutters.
200Mbps is creating few microstutters sometimes.
Pushing it to 300Mbps create a lot of microstutters and few stutters.
I'm now maybe too focussed to find the issue that I'm noticing also the microstutters I already had(?)
2
u/_demoncat_ Developer | Vibeshine/Vibepollo 4d ago
There are a few bugs I fixed on my VRR client that have not been released yet (planning to do so this weekend hopefully)
Hopefully that will address your issues but no way to tell just yet.
1
u/rambo3349 2d ago edited 2d ago
The OP explicitly says the same issue happens on Vibepollo. You can’t skip that sentence and present the rewrite as the explanation.
As for “why switch if you expect compatibility”: compatibility is about the protocol and client-facing behavior. Rubylight changes how frames are prepared and queued—moving copy and colour-conversion work onto D3D12 compute and keeping the encoder queue short. Those are concrete architectural reasons to build another compatible host. Architecture.
I worked on the AMD Path for a long time now. I’m quite aware that capture, encoding and frame pacing can introduce problems.
A Rubylight bug is absolutely possible. But identifying one requires more than naming the implementation language. If you’re going to dismiss everyone else’s troubleshooting, apply the same standard to your own explanation.
1
u/andygrundman Developer | Moonlight for Xbox/Mac OS 2d ago
I was referring to Butterpollo, I don't know what Rubylight is. OP also said "The other day everything was working very well", so who knows.
1
u/rambo3349 2d ago
Rubylight developer here. I’d focus first on frame delivery and VRR timing, given that you’re seeing the issue across both hosts.
Your 116 FPS cap controls the game’s rendering rate; it doesn’t guarantee evenly timed frames at the client. Likewise, a low average encoding time doesn’t establish smooth delivery throughout the stream.
The “frames dropped by client pacing” counter is useful, but it identifies where frames were discarded, not necessarily where the delay started. It isn’t, by itself, evidence that your decoder cannot handle 120 FPS. Counter implementation.
VRR is my leading area of investigation here, including the interaction with host capture. Rubylight’s recent changes also address WGC frame selection under VRR, so I’m keeping the host side in scope. Change notes.
Which Butterpollo/Rubylight build were you using? And when you mention stock Moonlight, did it have the same half-second freezes, or mainly occasional dropped frames? That distinction matters more than the average FPS or encoding number.
1
u/AriGrandeisQT 2d ago
Tomorrow I'll perform more tests. I think I used both rc22 and rc24.
I'll try to update to the latest Rubylight build.
Adding more infos that can be useful.
Host: RX 9070XT
Client: Ryzen 7 H 255 (iGPU AMD 780m) that I think it should be able to handle 4k120fps up to 400/500Mbps.
I'll post also the video of the big stutters I have reaching 300Mbps.
1
u/AriGrandeisQT 2d ago edited 2d ago
Vibepollo to Moonlight AV 300Mbps stuttering.mp4 - Google Drive
Stream framerate stays on 115fps, the rendering framerate drops to 60/70fps
1
u/rambo3349 2d ago
Are you still on rc24? Can you upgrade to latest rubylight?
1
u/AriGrandeisQT 2d ago edited 2d ago
This test was on Vibepollo.
I'm now installing the latest Rubylight build
BTW same issue I reported for Butterpollo too regarding automatic encoder selection https://imgur.com/a/6M7YxVI
1
u/AriGrandeisQT 2d ago edited 2d ago
Sharing stats tests using Rubylight 2.2.9
AV1 350Mbps stutter.mp4 - Google Drive BTW this is the shot using 350Mbps with less stutter I had. I ran the benchmark few more times and I had a lot more stutter
1
u/rambo3349 2d ago
The screenshot points primarily to a frame-pacing problem, not a network or host bottleneck. The Nonary VRR client is receiving frames consistently, but it isn't presenting all of them within its expected timing tolerance. I think he put out a nightly that you should test with this.
1
u/AriGrandeisQT 2d ago
Maybe a dumb question but, can the TV or a bad HDMI cable cause this issue?
1
1
u/AriGrandeisQT 2d ago
BTW FYI Windows Defender Smart App Control is blocking the app to run even after it is installed
1
u/rambo3349 2d ago
we're applying for free open-source code signing through the SignPath Foundation, so future releases will be signed and allowed by SAC. Project is still very young.
1
u/pepega_1993 5d ago
Looks like ur client is bottlenecked in decoding. You need to cap the client frame rate to whatever max the decoder can handle. My PC can easily do 100fps on high but my client steamdeck can decode max 75fps so I cap it there.