Skip to content

FPS

Frames per second (FPS) significantly impacts perceived smoothness in gaming. Moonbeam provides options to constrain the minimum and maximum FPS settings to consider before starting a Moonlight stream.

Configuring

Moonbeam offers two main approaches to constrain FPS optimization:

This will restrict Moonbeam to consider FPS values between 60 and 120 when launching Moonlight.

Terminal window
moonbeam --max-fps 120 --min-fps 60 stream MyHost "My Game"

FPS Scaling

The --fps-steps option allows for more granular control over FPS optimization:

Terminal window
moonbeam --max-fps 120 --min-fps 30 --fps-steps 2 stream MyHost "My Game"

This option determines the number of intermediate FPS values Moonbeam will consider. Here are some examples:

  1. --fps-steps 1 (default): FPS options are 30, 60, 120
  2. --fps-steps 2: FPS options are 30, 40, 60, 80, 120
  3. --fps-steps 3: FPS options are 30, 37, 45, 60, 75, 90, 120

If you experience screen tearing with higher --fps-steps values, try adding Moonlight’s --vsync option:

Terminal window
moonbeam --max-fps 120 --min-fps 30 --fps-steps 3 --vsync stream MyHost "My Game"

This may help reduce screen tearing but could also affect responsiveness.

Best Practices for FPS Configuration

  1. Match Your Display: Without specifying --max-fps, moonbeam will set the value to your display’s refresh rate.

  2. Consider Your Network:

    • For stable, low-latency connections: Consider a higher FPS range for improved visual fluidity.
    • For high-latency connections (e.g., cellular networks or satellite internet): Use a lower FPS range (e.g., --max-fps 60 --min-fps 30) or omit FPS flags to allow automatic adjustment.
  3. Flexible FPS Range: Using a wide FPS range allows moonbeam to find the ideal setting. For unstable connections, consider omitting FPS constraints entirely.

  4. Balance FPS and Resolution: Higher FPS requires more bandwidth. Adjust both FPS and resolution based on your game’s needs and network capacity.