Emulator Stutter / Freeze During Gameplay — Shader Compilation Fix (Eden, RPCS3, Dolphin, Cemu)

Medium4 solutions

My game runs fine most of the time, but every time I enter a new area, trigger a new visual effect, or start a cutscene, the emulator freezes or stutters for a fraction of a second or longer. After the first pass through that area, it's smooth. What is happening and how do I fix it?

Last updated 1 week ago0 users reported this issue2
Sign in to interact

Solutions

solution #935

enable-async-shader-compilation (sortOrder=1, isMostHelpful)

This is shader compilation stutter, and it is the most common performance complaint with modern GPU-based emulators. Here is what is happening and how to fix it per emulator.

Why it happens: When your GPU encounters a new visual effect for the first time, it has to compile a "shader program" for that effect. On your original console, shaders were pre-compiled into the game. On a PC emulator, the GPU must compile them on the fly — causing a brief freeze. After the first compile, the result is cached, and that effect never stutters again.

The fix: enable async (asynchronous) shader compilation. With async on, the emulator compiles shaders in a background thread while showing a placeholder frame instead of freezing. You may see a single-frame graphical glitch instead of a hard freeze — this is normal and disappears once the shader is compiled.

Eden (Switch):

  1. Open Eden → Settings (gear icon) → Graphics.
  2. Set Graphics Backend to Vulkan (Vulkan has superior async compile support vs OpenGL on Eden).
  3. Under the Vulkan section, ensure Enable Asynchronous GPU Emulation is ON.
  4. Also enable Use Disk Pipeline Cache — this saves compiled shaders to disk so they persist across sessions.

RPCS3 (PS3):

  1. Open RPCS3 → Config → GPU tab.
  2. Under Additional Settings, set Shader Mode to Async (Multi-threaded). This compiles shaders in background threads.
  3. Increase Shader Compiler Threads to half your CPU core count (e.g. 6 on a 12-core CPU). More threads = faster shader warm-up.
  4. Enable Write Color Buffers only if a specific game requires it (can reduce stutter on some titles).

Dolphin (GameCube / Wii):

  1. Open Dolphin → Graphics → Enhancements tab.
  2. Enable Compile Shaders Before Starting. Dolphin pre-compiles a shader cache on game launch, adding 10–30 seconds to first launch but eliminating in-game stutter.
  3. Alternatively: use the Direct3D 12 or Vulkan backend (Graphics → General tab → Backend). Both support async shader compile better than Direct3D 11.

Cemu (Wii U):

  1. Cemu uses a Vulkan pipeline cache that grows over time. Stutter is highest on first play, diminishes each session as shaders accumulate.
  2. Ensure the Vulkan backend is selected: Options → General Settings → Graphics → API = Vulkan.
  3. Cemu's Graphic Packs can also include a community pre-built shader cache for popular games (e.g. Breath of the Wild) — see S3.

solution #936

pre-warm-shader-cache-first-run (sortOrder=2)

Even with async compile enabled, the very first playthrough of any game will have some stutter as new shaders compile for the first time. Here is how to warm up your cache quickly:

  • Play through each area once at low stakes: run through the game's first level or hub area, trigger all the visual effects (explosions, magic, transitions), and let the emulator compile them. Subsequent runs on the same area will be stutter-free.
  • Keep disk/pipeline caches enabled: in Eden, make sure "Use Disk Pipeline Cache" is on. In RPCS3, the shader cache saves automatically to dev_hdd1/caches/. In Dolphin, the shader cache lives in Documents\Dolphin Emulator\Cache\Shaders\. Do NOT delete these folders unless troubleshooting a corruption.
  • Do NOT delete the shader cache to fix unrelated issues unless you have confirmed it is corrupted. Deleting it forces you to re-compile all shaders and repeat the stutter for every area again.

How long does warm-up take?

  • Short games (RPCS3 indie / GCN platformers): 30 min – 1 hour of play covers most shaders.
  • Open-world games (BOTW on Cemu, God of War on RPCS3): shader stutter can persist for 3–5 hours of total play across many unique areas. This is expected behavior, not a bug.

solution #937

community-shader-cache-import (sortOrder=3)

For popular games, the emulation community shares shader cache files that others have already compiled. Importing one means you start with a full cache and experience little or no stutter from the first launch.

Are community shader caches legal? Yes. Shader caches contain only compiled GPU programs generated by the emulator — they contain no game data, no copyrighted assets, and are not ROM-adjacent. They are safe to share and use.

Where to find them:

  • RPCS3: The RPCS3 community maintains compatible shader caches for many PS3 games. Search the RPCS3 subreddit or the RPCS3 Discord for your game's title + "shader cache." Place the cache in RPCS3's cache directory.
  • Cemu: Cemu Graphic Packs (downloadable directly inside Cemu via the Graphic Packs downloader) include shader caches for popular titles including Breath of the Wild, Mario Kart 8, Splatoon, and Xenoblade Chronicles X.
  • Dolphin: Dolphin's "Load Custom Textures" cache is separate from shaders. Shader caches are stored locally per-game in the Dolphin cache folder. A transferable .cache file is sometimes shared in Dolphin's Discord for games with extreme first-launch stutter.
  • Eden: Pipeline caches can be transferred between PCs but are GPU-driver and OS specific. Community Eden shader caches are less common due to how GPU-specific Vulkan caches are; warming up yourself is the practical path.

solution #938

switch-to-glsl-or-opengl-to-reduce-stutter (sortOrder=4)

If stutter is severe and async compile does not help enough, switching the graphics backend or shader language can reduce it at the cost of some visual quality or compatibility:

Eden (Switch): Try OpenGL instead of Vulkan (Settings → Graphics → Backend). OpenGL compiles shaders faster and produces less stutter on many GPUs, especially Nvidia. The tradeoff is slightly lower performance and fewer async features.

RPCS3: Try Shader Mode: Recompiler (GLSL) instead of Async Multi-threaded. Some games that hang or crash under async compile work fine under GLSL recompiler mode, which compiles shaders synchronously but faster.

Dolphin: Try Direct3D 11 if you are on an Nvidia GPU — D3D11 shader compilation is faster than D3D12 on some drivers, reducing per-frame stutter even without an explicit async mode.

General tip: Update your GPU drivers. AMD in particular releases frequent driver updates that improve shader compile times. A stale driver from 6+ months ago can have significantly worse async shader performance than the current version.

Experiencing a different problem?Report a new issue to help the community find solutions.

Comments (0)

No other comments yet. Be the first to share your thoughts.

Sign in to_leave_comment

On This Page