Sunshine for Windows Experimental r7
Pre-release
Pre-release
·
32 commits
to master
since this release
Note
The optimizations in this build are best experienced with these custom Moonlight builds:
Moonlight X for Android
moonlight-qt for Windows
This release builds on the first experimental release with these features and improvements:
Bitrate boost for low game frame rates (NVENC and PyroWave)
When a game renders fewer frames than the stream's FPS, Sunshine now raises the bitrate per frame so the stream stays close to the bitrate Moonlight asked for, without going over it. For example, a 60 FPS game on a 120 FPS stream previously used only half the requested bitrate.
- New setting: Low FPS Bitrate Boost (
low_fps_bitrate_boost). Default 4, range 1–8, 1 turns it off. - The game's frame rate is measured so that a single hitch doesn't trigger a boost and the boost drops quickly when the game speeds back up.
- Boosted frames are kept small enough to send at Video Send Rate before the game's next frame, so set Video Send Rate to suit your network.
- NVENC streams leave room in the H.264/HEVC level so the bitrate can rise mid-stream. The stream now signals a higher level, such as HEVC 6.2 High. If a strict client refuses the stream, set the boost to 1.
- Tips:
- Set Minimum FPS Target to -1 for the full boost, since repeated frames count as frames.
- With NVENC, raising VBV/HRD Percentage Increase (for example to 100) lets the encoder fill the boosted budget.
Latency tracing
New setting: Latency Log (latency_log, off by default) traces every video frame through capture, encoding and sending.
sunshine-latency.loggets a per-stage p50/p99/max summary every 10 seconds, plus a line for each frame much slower than usual.- Each session also writes
sunshine-frames-<date>-<time>.csvwith every sent frame. Its RTP timestamp matches Moonlight's frame times, so you can line it up with client-side traces. - Turn it off when you're done debugging: each session writes a new CSV.
Other
- Updated
moonlight-common-cto the latestmlsoft-pyrowave. It now delivers PyroWave frames with lost packets as partial frames, and negotiates PyroWave with nonary (vibeshine) hosts.
Full Changelog: mlsoft-r6...mlsoft-r7