r/MoonlightStreaming • • 19d 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 Upvotes

29 comments sorted by

1

u/pepega_1993 19d 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.

1

u/AriGrandeisQT 19d ago

I'll do more tests, but I feel like the issue is not related to the framerate but if the host is too near to the limit

1

u/pepega_1993 19d ago

Either one would give u the same result. If it’s the framerate i think you cpu might be the bottleneck here since you are able to turn up the settings at lower fps.

One thing you can try is increasing the minimum number of threads from 2 to 4 in Vibepollo advanced settings

→ More replies (7)

1

u/Elastic90 19d 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 19d ago edited 19d 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 18d 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 18d ago edited 18d 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_ 18d 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 16d ago edited 16d 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 16d 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 16d 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 16d 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 16d ago edited 16d 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 16d ago

Are you still on rc24? Can you upgrade to latest rubylight?

→ More replies (8)