Configuration Guide: Difference between revisions

Jump to navigation Jump to search
(Minor cleanup)
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Dolphin has two performance related configuration windows: Dolphin configuration and Graphics settings, in addition to applying settings per game via their [[GameINI]]. Dolphin is a very demanding program, so configuring Dolphin the right way is very important to run titles smoothly.
Dolphin has two performance related configuration windows: Dolphin configuration and Graphics settings, in addition to applying settings per game via their [[GameINI]]. Dolphin is a very demanding program, so configuring Dolphin the right way is very important to run titles smoothly. This guide assumes you are on the [https://dolphin-emu.org/download/ '''latest beta or development version''']. Many of these options were created after the release of Dolphin 5.0 Stable and thus 5.0 Stable is not supported by this guide.


== System Requirements ==
== System Requirements ==
Line 13: Line 13:


* '''OS:''' 64-bit edition of Android (5 or higher). Android 9 or higher recommended.
* '''OS:''' 64-bit edition of Android (5 or higher). Android 9 or higher recommended.
* '''Processor:''' As powerful as possible. For Qualcomm devices, processors with 2 or more "big cores" recommended. Snapdragon 700 or newer is typically 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.
* '''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.


Line 41: Line 41:
* '''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.
* '''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.
* '''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, but may be slightly less stable in rare circumstances.
* '''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.
* '''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.
* '''Software''': This graphics backend is for debugging only and is extremely slow.
Line 54: Line 55:


*'''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.
*'''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. Due to Pipeline Swaps in the current version of Vulkan, this option is less effective in the Vulkan backend.
*'''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.
*'''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 <i>simply not waiting for shaders to be generated</i>. 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.
*'''Skip Drawing''' is a powerful option to completely eliminate Shader Compilation Stutter by <i>simply not waiting for shaders to be generated</i>. 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 GPU can use ahead of 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 ===
Line 78: Line 79:
* '''Defer EFB Copies to RAM''' - Provides a significant performance boost for games that cannot use '''Store EFB Copies to Texture Only''' and '''Store XFB Copies to Texture Only''' but may cause significant issues if the game uses the textures immediately.
* '''Defer EFB Copies to RAM''' - Provides a significant performance boost for games that cannot use '''Store EFB Copies to Texture Only''' and '''Store XFB Copies to Texture Only''' but may cause significant issues if the game uses the textures immediately.
* '''Texture Cache''' - Setting the slider on the "Fast" position can improve performance greatly, but it may cause graphical glitches in some games (Most commonly missing text).
* '''Texture Cache''' - Setting the slider on the "Fast" position can improve performance greatly, but it may cause graphical glitches in some games (Most commonly missing text).
* '''GPU Texture Decoding''' - Offloads texture decoding to the host GPU from the CPU. It can provide a noticeable performance improvement and less stuttering if a game loads a lot of textures, or when playing pre-rendered videos. It will provide a bigger benefit on weaker CPUs. This setting is '''incompatible''' with '''Abitrary Mipmap Detection'''.
* '''Immediately Present XFB Copies''' - Skips part of the frame presentation pipeline on the GameCube in order to slightly reduce input latency. If the game edits XFB copies, this setting may cause visual issues. Does not impact performance in most cases, only input latency.
* '''Immediately Present XFB Copies''' - Skips part of the frame presentation pipeline on the GameCube in order to slightly reduce input latency. If the game edits XFB copies, this setting may cause visual issues. Does not impact performance in most cases, only input latency.
* '''Skip Presenting Duplicate Frames''' - On incredibly weak devices running 30/25 FPS titles, it may be advantageous for Dolphin to not render duplicate frames. On more powerful graphics cards, you want this unchecked as rendering the duplicate frames will give better frame pacing.
* '''Skip Presenting Duplicate Frames''' - On incredibly weak devices running 30/25 FPS titles, it may be advantageous for Dolphin to not render duplicate frames. On more powerful graphics cards, you want this unchecked as rendering the duplicate frames will give better frame pacing.
* '''Store XFB Copies to Texture Only''' - Works essentially the same as '''Store EFB Copies to Texture Only''' but with XFB Copies. Missing XFB copies are rendered in Magenta when this is enabled, if you're seeing Magenta frames, you may want to disable this setting. Performance impact is usually not as high as '''Store EFB Copies to Texture Only''' being disabled.
* '''Store XFB Copies to Texture Only''' - Works essentially the same as '''Store EFB Copies to Texture Only''' but with XFB Copies. Missing XFB copies are rendered in Magenta when this is enabled, so if you're seeing Magenta frames, you may want to disable this setting. Performance impact is usually not as high as '''Store EFB Copies to Texture Only''' being disabled.
* '''Fast Depth Calculation''' - Despite its name, Fast Depth is more accurate in modern Dolphin builds. It does require GPUs to support specific API extensions in order to do this, so on Android (GLES) you may see texture flickering with this enabled. Slow Depth may also show flickering/Z-Fighting in titles as it is less accurate at this point in time.
* '''Fast Depth Calculation''' - Despite its name, Fast Depth is more accurate in modern Dolphin builds. It does require GPUs to support specific API extensions in order to do this, so on Android (GLES) you may see texture flickering with this enabled. Slow Depth may also show flickering/Z-Fighting in titles as it is less accurate at this point in time.
* '''Disable Bounding Box''' - Five games use Bounding Box emulation, and Dolphin automatically enables this setting for all of those games. You do not need to enable this setting, as it should have no effect in other titles. On certain older AMD cards, enabling this setting (even on games that do not use bounding box) causes a performance hit. On most modern graphics cards, whether it is enabled or not does not impact performance outside of Bounding Box titles. Most commonly used in the [[:Category:Paper Mario (Series)|Paper Mario titles]].
* '''Disable Bounding Box''' - Five games use Bounding Box emulation, and Dolphin automatically enables this setting for all of those games. You do not need to enable this setting, as it should have no effect in other titles. On certain older AMD cards, enabling this setting (even on games that do not use bounding box) causes a performance hit. On most modern graphics cards, whether it is enabled or not does not impact performance outside of Bounding Box titles. Most commonly used in the [[:Category:Paper Mario (Series)|Paper Mario titles]].

Navigation menu