3.1 General
- 3.1.1 Video Backend
- 3.1.2 A Note on V-Sync
- 3.1.3 Shader Compilation
System Requirements
Every game has different requirements, some titles may require a powerful computer while some other titles may not. Generally, these are the minimum recommended requirements for Dolphin.
Desktop Computers
- OS: 64-bit edition of Windows (10 or higher), Linux, or macOS (macOS 10.14 Mojave or higher). Most modern Linux distributions should work given support for Dolphin's dependencies, and FreeBSD is unsupported but also may work.
- Processor: A 64-bit x86-64 or AArch64 processor. Highly recommended to have 4 cores or more. Faster is better.
- Graphics: A graphics card that supports Direct3D 11 / OpenGL 4.4 / Vulkan 1.1 is recommended. Onboard graphics may work, but drivers may vary.
Android/Mobile Devices
- OS: 64-bit edition of Android (5 or higher). Android 9 or higher recommended.
- Processor: A 64-bit x86-64 or AArch64 processor, as powerful as possible. For Qualcomm devices, processors with 2 or more "big cores" recommended. Snapdragon 700 or newer is typically recommended.
- Graphics: OpenGL ES 3.0 or higher, OpenGL ES 3.2 / Vulkan 1.1 is recommended. RDNA2 or Snapdragon based graphics processors give the best performance. High-end Mali graphics solutions may also provide playable framerates. All other manufacturers are not generally recommended.
Dolphin Configuration
Dolphin's default configurations are centered around a mixture of performance and compatibility. Faster computers may want to disable some of the performance hacks for more stability, where as slower computers and many mobile devices may want to sacrifice stability for even more performance. In this guide, we'll go through some of the easiest ways to gain performance and note the downsides of the various performance hacks in order to help identify when they should be disabled for stability. Settings that do not pertain to performance will not be mentioned in this guide.
Main Configuration Window
Enable Dual Core: A powerful option for gaining performance that has no downsides some of the time. May cause various random issues caused by splitting the CPU and GPU threads onto different cores. The most common downside to this performance boost is the risk for random "Unknown Opcode" issues and the associated crashes. Dolphin will usually disable Dual Core in games that are especially sensitive to CPU GPU desyncs.
DSP-HLE vs DSP-LLE: Most users should never have to change between DSP-HLE and DSP-LLE. DSP-HLE is many times faster and causes no risk of issues in 99% of titles. DSP-LLE is typically used for homebrew titles and debugging. The one exception to this is a case where Dolphin will automatically use DSP-LLE - Neo-Geo Virtual Console titles. Due to a timing quirk in these games, DSP-LLE is required for proper audio.
CPU Emulation Engine: This setting should never be touched by general users. It is set to the fastest option by default regardless of whether you're using Desktop or Android Dolphin builds. Changing this option alone may slowdown your performance by tenfold or more.
Emulated CPU Clock Override: This is one of the most powerful tools for gaining performance on weak devices. By lowering the Emulated CPU Clock Rate below 100%, you can cause the game itself to lag. In many cases, games have a built-in frameskip for lagging, which will lower the requirements of running that game drastically. This setting can also break games if they are relying on specific CPU timings, and should be disabled if new problems suddenly crop up after enabling it. Raising the Emulated CPU Clock Rate makes games more demanding to run, but may cause them to run better if the emulated title was lagging internally.
Graphics Settings
While Dolphin doesn't particularly need a powerful graphics card, it does want efficient drivers that can handle things that aren't commonly used in modern games. As such, some of the Graphics Settings may have a higher impact on certain GPUs than they do on other GPUs. We'll try to cover the major cases here, but your performance will vary.
General
Video Backend
Your choice in video backend may greatly alter how much performance you get depending on your graphics card.
- Vulkan: Generally runs great on NVIDIA and AMD graphics chips, including mobile RDNA2 devices. Not recommended for Intel devices, and Adreno (Snapdragon) graphics vary per the driver as to how well they will support Vulkan.
- OpenGL: Typically considered Dolphin's slowest backend, but is generally very stable. Very slow on AMD based graphics on Windows, but can be usable on Linux. Not recommended on current RDNA2 Android devices as they do not ship a dedicated OpenGL driver, and instead rely on ANGLE.
- D3D11: This backend is a middle ground between most other backends. Only available on Windows, but generally runs well on every kind of GPU.
- D3D12: D3D12 is slightly faster than D3D11 on some onboard graphics chips, particularly Intel iGPUs.
- Metal: macOS only. This is the preferred option for all macOS systems that support it with better performance compared to Vulkan via MoltenVK.
- Null: This graphics backend is for debugging only and does not render any graphics.
- Software: This graphics backend is for debugging only and is extremely slow.
A Note on V-Sync
Dolphin does not support asynchronous presentation, so users on Laptops and other devices that may limit the screen to 30Hz or lower may want to disable V-Sync to prevent additional lag. If for some reason your game is running at exactly half speed on powerful hardware, V-Sync might be the cause on a 30Hz screen.
Shader Compilation
Your shader compilation settings can greatly influence performance. Ubershaders are gigantic shaders that allow Dolphin to handle the GameCube's TEV pipeline without having to generate specialized shaders, but come at the cost of being much slower than specialized shaders. Specialized shaders are much faster, however they must be generated on demand and if it takes more than a frame to generate them, the game will stutter while they are generated.
- Specialized (Default) is the default setting and can suffer from shader compilation stuttering when too many new shaders are generated at once. These stutters will disappear as you play more of the game, as Dolphin caches the shaders to reuse if they come up again. Recommended on lower-end GPUs, or GPUs that have issues with other settings.
- Hybrid Ubershaders greatly reduces Shader Compilation stuttering by swapping in Ubershaders when a specialized shader is not generated, and then generating the specialized shader in the background. When that specialized shader is finished, it is used instead of the Ubershader. By using Ubershaders only for objects without specialized shaders, this keeps the performance impact of Ubershaders at a minimum. For NVIDIA GPU users, due to Pipeline Swaps in Vulkan and quirks with the NVIDIA driver this option is not recommended to be paired with the Vulkan backend as there will still be stuttering.
- Exclusive Ubershaders completely eliminates shader compilation stutter by generating a set of monolithic shaders that can completely simulate the entire TEV pipeline and all of its configurations. Is incredibly demanding at higher resolutions, and can only be recommended for users with powerful desktop class GPUs. Is best served when using the "Compile Shaders Before Starting" option to generate all of the Ubershaders immediately instead of as each one is seen.
- Skip Drawing is a powerful option to completely eliminate Shader Compilation Stutter by simply not waiting for shaders to be generated. This means that even if the shaders aren't ready, Dolphin will continue to emulate the game. This may result in temporarily missing objects in most cases. In rare cases, such as with Mii faces or other time-sensitive EFB Copies, it may result in graphics missing until they are re-generated a second time.
- Compile Shaders Before Starting will compile cached UIDs at boot. May result in a lengthy wait to boot a game if you have a huge number of shaders cached for a game, but reduces stutter by having everything already generated in a from that the GPU can use ahead of time.
Enhancements
Enhancements are powerful tools that can push the visual quality far above that of the original hardware. With these enhancements comes substantial risk to reduce performance.
- Internal Resolution: Depending on how powerful your graphics processor is, and the quality of your drivers, you may want to increase the internal resolution of the game. On powerful graphics cards, this setting may have almost no impact on maximum performance. With onboard graphics and mobile devices, even setting the Internal Resolution to 2x may result in noticeable slowdown. Results will vary based on the power of your device. We recommend you find a happy medium between visual fidelity and performance.
- Anisotropic Filtering: Does not usually impact performance. May make textures look better in some games, but may break certain effects in rare cases.
- Anti-Aliasing: MSAA and SSAA improve the visual look of the image by removing aliasing, at the cost of increased GPU usage. May break certain effects in rare cases.
Hacks
The hacks window is where you'll find a ton of options that can increase performance when leveraged correctly, or break games completely if they're enabled erroneously. Dolphin will usually enable/disable these settings automatically for games that need them, so it is not recommended to change these settings unless you know what you are doing.
- Skip EFB Access from CPU - Provides a significant speedboost with games that read the screen. Example: In F-Zero GX in Sand Ocean, it reads and writes pixels to screen to create a heat blur. This heat blur is incredibly demanding, but if you force enable "Skip EFB Access from CPU," you can disable the effect and increase performance. If the game reads these pixels for game logic then disabling this setting may make the game unplayable. An example of this is the Pull Stars in Super Mario Galaxy, which the game uses EFB Peeks in order to see what the pointer is hovering over.
- Ignore Format Changes - This setting is most notable because enabling it causes broken graphics in Mario Kart Wii and The Legend of Zelda: Skyward Sword. You should not need to touch this setting, and the performance boost it gives is very little to none on modern graphics cards.
- Store EFB Copies to Texture Only - Enabled by default. Many games need this setting, but Dolphin will enable it by default. If you're seeing blacked out/missing graphics, odds are you might need to disable this. Unfortunately, this is a fairly demanding setting, especially on less efficient graphics drivers. Refer this page for a list of titles that require disabling it.