Configuration Guide: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
(→‎Shader Compilation: fix typo and reword Exclusive Ubershaders to emphasize it should not be preferred over the other options (besides Skip Drawing))
(36 intermediate revisions by 9 users not shown)
Line 1: Line 1:
Dolphin is a very demanding program, so configuring Dolphin the right way is very important to run games smoothly. This '''performance guide''' will show a "quick and dirty" example of how to speed up Dolphin. Only options that improve performance are shown here.
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 three configuration related buttons: Config, Graphics, and controllers; which will open the options described below. And also game properties.  
== 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.
 
* '''OS:''' 64-bit edition of Windows (7 SP1 or higher), Linux, or macOS (10.12 Sierra or higher). Windows Vista SP2 and unix-like systems other than Linux are not officially supported but might work.
* '''Processor:''' A CPU with SSE2 support. A modern CPU (3 GHz and Dual Core, not older than 2008) is highly recommended.
* '''Graphics:''' A reasonably modern graphics card (Direct3D 10.0 / OpenGL 3.0). A graphics card that supports Direct3D 11 / OpenGL 4.4 / Vulkan 1.1 is recommended.
 
== Dolphin Configuration ==
Dolphin is shipped with default settings for the most optimal performance, you do not usually need to change anything on your first time Dolphin setup.
 
=== Enable Dual Core ===
Provides a significant speedup on modern systems. Recommended on most titles, though may cause issues like crashing or graphic issues on some titles. Refer to [[:Category:Enable_Dual_Core_(Config_Required)|this page]] for a list of titles that require disabling Dual Core.
 
=== CPU Emulator Engine ===
'''JIT Recompiler''' is the fastest engine and is recommended on almost all titles. There are a few titles that work better with different emulator engines but unplayably slow.
 
=== Audio ===
'''DSP HLE''' is the fastest DSP Emulator Engine. It is very reliable, and only a few titles still have problems with it. See [[DSP LLE]] for more details. '''Cubeb''' is the faster backend. Recommended on almost all titles.
 
== Graphics Settings ==
Some of these settings will improve emulation compatibility in exchange of PC performance.


== Config ==
=== General ===
=== General ===
==== Enable Dual Core ====  
==== Video Backend ====
Provides a significant speedup on modern systems. Recommended on most games, though may cause issues like crashing or graphic issues on some games. Refer [[:Category:Enable_Dual_Core_(Config_Required)|this page]] for a list of games that require disabling Dual Core.
* Depending on the game and the graphics card: '''Vulkan''' will generally provide the best performance for Nvidia and AMD, while '''Direct3D 12''' is preferred on Intel. '''Direct3D 11''' is a good fallback option for stability or compatibility reasons. '''OpenGL''' should be avoided on AMD and Intel GPUs on Windows due to poorly optimized drivers.
 
* '''V-Sync''' helps prevent screen tearing.
* '''Use Fullscreen''' toggles between fullscreen and windowed mode.
** Exclusive Fullscreen is available on Windows, it gives Dolphin full control over the graphics card. This results in minimal latency which is important for competitive games such as [[Super Smash Bros. Melee]]. More details on its benefits can be found on [https://dolphin-emu.org/blog/2014/07/31/dolphin-progress-report-july-2014/#40-2286-d3d-exclusive-fullscreen-by-armada651 Progress Report of July 2014]. D3D and Vulkan are well supported for Exclusive Fullscreen. Support on OpenGL is more of a hack. Exclusive fullscreen is enabled by default when it is supported, it can be disabled by checking the '''Borderless Fullscreen''' checkbox under Graphics > Advanced > Misc.
 
==== Shader Compilation ====
*'''Specialized (Default)''' should be used as a fallback for older systems or GPUs that do not work well with ubershaders such as some mobile GPUs.
*'''Hybrid Ubershaders''' is the recommended setting for most GPUs as it reduces shader compilation stutter with minimal performance impact.
*'''Exclusive Ubershaders''' is the most effective at reducing shader compilation stutter but should '''NOT''' be used unless you've encountered stuttering with Hybrid Ubershaders and have a very powerful GPU.
*'''Skip Drawing''' is '''NOT''' recommended as it causes rendering issues in many games.
*'''Compile Shaders Before Starting''' can reduce in game shader compilation stutter once a cache is built in exchange for longer game startup times.


==== CPU Emulator Engine ====
=== Enhancements ===
There are currently four CPU Emulator Engines:
The emulation can suffer slowdowns from extreme multiplier options in '''Internal Resolution''', '''Anisotropic Filtering''', and '''Anti-Aliasing''' settings. Start with minimum option like "1x Native (640x528)", and go up from there until you can find the highest setting without slowdown. Keep in mind non-1x options may cause graphical issues in some titles.
* '''JIT Recompiler''' : The fastest engine and the recommended on almost all games.
* '''JITIL Recompiler''' : Slower than JIT, required only for Poképark series.
* '''Cached Interpreter''' : Very slow, not recommended
* '''Interpreter''' : Slowest engine, it runs slow doesn't matter how powerful is your PC, not recommended.


== Graphics ==
=== Hacks ===
=== Backend ===
* '''Skip EFB Access from CPU''' - Provides a speed boost. However it provides this boost at the expense of emulation accuracy, breaking some titles and removing effects. It's off by default for greater emulation accuracy.
Depending of the game and the graphics card: OpenGL or Direct3D11 will have better performance. It is required that your graphic card supports at least OpenGL 3.3+ and/or Direct3D10.1+. Vulkan and Direct3D12 are still in experimental phase and they are still not recommended.
* '''Ignore Format Changes''' - The vast majority of titles don't care about this, and it provides a small boost. However a small number of titles hate this setting. It's enabled by default.
* '''Internal Resolution''' - "Auto - (Multiple of 640x528)" is recommended. If emulation suffers from slowdowns when going to fullscreen, change it to "1x Native (640x528)", and go up from there until you can find the highest setting without slowdown.
* '''Store EFB Copies to Texture Only''' - Enabled by default. Disable it only when running a game that requires it. Refer [[:Category:Store EFB Copies to Texture Only (Config Required)|this page]] for a list of titles that require disabling it.
* '''Skip EFB Access from CPU''' can provide a speed boost. However it provides this boost at the expense of emulation accuracy, breaking some games and removing effects. It should be ok to use, but be careful with it.
{{image|Paper Mario TTYD - Cabin Transition EFB2Tex.gif|'''EFB Copies to Texture Only''' - Enabled}}
* '''Ignore Format Changes''' - The vast majority of games don't care about this, and it provides a small boost. However a small number of games hate this setting. Recommended.
{{image|Paper Mario TTYD - Cabin Transition EFB2RAM.gif|'''EFB Copies to Texture Only''' - Disabled|br}}
* '''Store EFB Copies to Texture Only''' - Make sure that "Store EFB Copies to Texture Only" is enabled. Disable it only when running a game that requires it.
* '''Texture Cache''' - Setting the slider on the "Fast" position will improve performance greatly, but it may cause graphical glitches in some games (Most commonly missing text).
* '''Disable Destination Alpha''' - Allows Dolphin to skip the destination alpha pass used by some games’ effects. It breaks a lot of games, but can be a handy speedup. Use carefully.
* '''Fast Depth Calculation''' - Uses a less accurate method of calculating depth values. Gives a small speedup, but can cause flickering textures.
* '''Fast Depth Calculation''' - Uses a less accurate method of calculating depth values. Gives a small speedup, but can cause flickering textures.
* '''Bounding Box Calculation''' - Don't emulate bounding box calculation, which is only required for a limited set of games (i.e. Paper Mario).
* '''Disable Bounding Box''' - Don't emulate bounding box calculation, which is only required for a limited set of titles, mostly [[:Category:Paper Mario (Series)|Paper Mario titles]].
* '''Vertex Rounding''' - Rounding 2D vertices to whole pixels, fixes graphical glitches seen in several titles at higher internal resolutions.


== DSP ==
=== Audio Backend ===
OpenAL is usually faster. Recommended on almost all games.
=== DSP Emulator Engine ===
DSP HLE is the fastest DSP Emulator Engine. It is very reliable, and only a few games still have problems with it. Use [[DSP LLE]] if DSP HLE is not working properly. See [[DSP LLE]] for more details.
[[Category:Tutorials]]
[[Category:Tutorials]]

Revision as of 10:39, 14 July 2021

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.

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.

  • OS: 64-bit edition of Windows (7 SP1 or higher), Linux, or macOS (10.12 Sierra or higher). Windows Vista SP2 and unix-like systems other than Linux are not officially supported but might work.
  • Processor: A CPU with SSE2 support. A modern CPU (3 GHz and Dual Core, not older than 2008) is highly recommended.
  • Graphics: A reasonably modern graphics card (Direct3D 10.0 / OpenGL 3.0). A graphics card that supports Direct3D 11 / OpenGL 4.4 / Vulkan 1.1 is recommended.

Dolphin Configuration

Dolphin is shipped with default settings for the most optimal performance, you do not usually need to change anything on your first time Dolphin setup.

Enable Dual Core

Provides a significant speedup on modern systems. Recommended on most titles, though may cause issues like crashing or graphic issues on some titles. Refer to this page for a list of titles that require disabling Dual Core.

CPU Emulator Engine

JIT Recompiler is the fastest engine and is recommended on almost all titles. There are a few titles that work better with different emulator engines but unplayably slow.

Audio

DSP HLE is the fastest DSP Emulator Engine. It is very reliable, and only a few titles still have problems with it. See DSP LLE for more details. Cubeb is the faster backend. Recommended on almost all titles.

Graphics Settings

Some of these settings will improve emulation compatibility in exchange of PC performance.

General

Video Backend

  • Depending on the game and the graphics card: Vulkan will generally provide the best performance for Nvidia and AMD, while Direct3D 12 is preferred on Intel. Direct3D 11 is a good fallback option for stability or compatibility reasons. OpenGL should be avoided on AMD and Intel GPUs on Windows due to poorly optimized drivers.
  • V-Sync helps prevent screen tearing.
  • Use Fullscreen toggles between fullscreen and windowed mode.
    • Exclusive Fullscreen is available on Windows, it gives Dolphin full control over the graphics card. This results in minimal latency which is important for competitive games such as Super Smash Bros. Melee. More details on its benefits can be found on Progress Report of July 2014. D3D and Vulkan are well supported for Exclusive Fullscreen. Support on OpenGL is more of a hack. Exclusive fullscreen is enabled by default when it is supported, it can be disabled by checking the Borderless Fullscreen checkbox under Graphics > Advanced > Misc.

Shader Compilation

  • Specialized (Default) should be used as a fallback for older systems or GPUs that do not work well with ubershaders such as some mobile GPUs.
  • Hybrid Ubershaders is the recommended setting for most GPUs as it reduces shader compilation stutter with minimal performance impact.
  • Exclusive Ubershaders is the most effective at reducing shader compilation stutter but should NOT be used unless you've encountered stuttering with Hybrid Ubershaders and have a very powerful GPU.
  • Skip Drawing is NOT recommended as it causes rendering issues in many games.
  • Compile Shaders Before Starting can reduce in game shader compilation stutter once a cache is built in exchange for longer game startup times.

Enhancements

The emulation can suffer slowdowns from extreme multiplier options in Internal Resolution, Anisotropic Filtering, and Anti-Aliasing settings. Start with minimum option like "1x Native (640x528)", and go up from there until you can find the highest setting without slowdown. Keep in mind non-1x options may cause graphical issues in some titles.

Hacks

  • Skip EFB Access from CPU - Provides a speed boost. However it provides this boost at the expense of emulation accuracy, breaking some titles and removing effects. It's off by default for greater emulation accuracy.
  • Ignore Format Changes - The vast majority of titles don't care about this, and it provides a small boost. However a small number of titles hate this setting. It's enabled by default.
  • Store EFB Copies to Texture Only - Enabled by default. Disable it only when running a game that requires it. Refer this page for a list of titles that require disabling it.
  • Texture Cache - Setting the slider on the "Fast" position will improve performance greatly, but it may cause graphical glitches in some games (Most commonly missing text).
  • Fast Depth Calculation - Uses a less accurate method of calculating depth values. Gives a small speedup, but can cause flickering textures.
  • Disable Bounding Box - Don't emulate bounding box calculation, which is only required for a limited set of titles, mostly Paper Mario titles.
  • Vertex Rounding - Rounding 2D vertices to whole pixels, fixes graphical glitches seen in several titles at higher internal resolutions.