Optimize Windows

This guide is divided into Universal Windows Steps and Vendor-Specific Steps (choose your card).


#Phase 1: Universal Windows Foundation (All GPUs)

Do these steps first regardless of which brand of GPU you have. They prepare Windows to prioritize ML tasks.

1. Enable "High Performance" Power Plan

Windows typically hides this plan. It is critical for stopping micro-latency during inference.

  1. Open Command Prompt (Admin).
  2. Paste this command: powercfg -duplicatescheme SCHEME_MIN
  3. paste this command: powercfg /setactive SCHEME_MIN
  4. Paste this command to confirm the mode is now high performance: powercfg /getactivescheme
  5. Open Control Panel -> Power Options.
  6. Expand "Show additional plans" and select High Performance.

2. Enable Hardware-Accelerated GPU Scheduling (HAGS)

This allows your GPU to manage its own memory, bypassing the CPU bottleneck.

  1. Press Win + I (Settings) -> System -> Display -> Graphics.
  2. Click "Change default graphics settings" (blue link).
  3. Turn Hardware-accelerated GPU scheduling to On.
    • Requires a Restart.

3. Force "High Performance" for Your Apps

Windows loves to push background apps (like a Python terminal or Moonlight) to the integrated graphics to save battery. Stop this.

  1. Go to System -> Display -> Graphics.
  2. Under "Add an app", select Desktop app -> Browse.
  3. Find Moonlight.exe and click Add.
  4. Click the app in the list -> Options -> Select High Performance -> Save.

#Phase 2: Choose Your GPU Path

🟢 Option A: NVIDIA

  1. Drivers: Install the NVIDIA Studio Driver (more stable for compute) rather than Game Ready. You can also try Game Ready if you experience issues.
  2. Control Panel:
    • Right-click Desktop -> NVIDIA Control Panel.
    • Manage 3D Settings -> Power Management Mode -> Prefer Maximum Performance.
    • Low Latency Mode -> On (Reduces token delay).
    • CUDA - Sysmem Fallback Policy -> Prefer No Sysmem Fallback (Prevents using slow RAM if VRAM fills up).
  3. You do not need to install CUDA. Moonlight ships the runtimes it needs.

🔴 Option B: AMD

  1. Enable "Compute Mode" (Older cards like RX 580):
    • Open AMD Software: Adrenalin Edition.
    • Settings (Gear icon) -> Graphics.
    • Scroll to Advanced -> GPU Workload -> Set to Compute.
    • Note: Newer RDNA (6000/7000 series) cards handle this automatically. For these, select the "Standard" profile instead of "Gaming" to minimize post-processing interference.
  2. Enable SAM (Smart Access Memory):
    • In Adrenalin -> Performance tab -> Tuning.
    • Ensure AMD Smart Access Memory is Enabled. (Requires "Re-Size BAR" enabled in your BIOS).

🔵 Option C: Intel

  1. Intel Arc Control Settings:
    • Open Intel Arc Control (Alt+I).
    • Performance Tab -> Power Limit -> Increase to Max (slide to right).
    • Global Game Settings -> Turn OFF "Frame Smoothing" or "V-Sync" (these add latency).

#Summary Table for Reference

FeatureNVIDIA SettingsAMD SettingsIntel Settings
Driver TypeStudio DriverAdrenalin EditionArc Control / WHQL
Power ModePrefer Max PerformanceStandard Profile / Compute ModePower Limit Max
Key BIOS FeatureRe-Size BAR (Optional)Smart Access Memory (Required)Re-Size BAR (Required)

Stuck on a step? Ask in the Moonlight Discord and a staff member will help.