Difference between revisions of "Configuration Guide"

From Dolphin Emulator Wiki
Jump to: navigation, search
(Graphics: minor)
(Shader Compilation: fix typo and reword Exclusive Ubershaders to emphasize it should not be preferred over the other options (besides Skip Drawing))
 
(62 intermediate revisions by 15 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 DSP, which will open the options described below.  
+
== 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.
  
== Config ==
+
* '''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.
[[File:Dolphin emulator config.png|link=]]
+
* '''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.
  
* '''Enable Dual Core''' - Provides a significant speedup on modern systems. Recommended.
+
== Dolphin Configuration ==
* '''Enable Idle Skipping''' - A free speedup 99% of the time. Recommended.
+
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.
* '''CPU Emulator Engine''' - JIT Recompiler is the fastest and most stable of the CPU emulator engines.
 
  
[[File:Performance Guide Config General.png|link=]]
+
=== 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.
  
== Graphics ==
+
=== CPU Emulator Engine ===
[[File:Dolphin emulator graphics.png|link=]]
+
'''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.
  
* '''Backend''' - From the three backends available, Direct3D9 is the fastest, OpenGL is the most accurate, and Direct3D11 is somewhere between. It is recommended that you use Direct3D9 unless you encounter problems. Note: OpenGL is the only backend available on Linux and Mac OSX.
+
=== Audio ===
* '''Internal Resolution''' - "Auto - (Window Size)" is recommended. If the 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.
+
'''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.
* '''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.
 
* '''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.
 
* '''EFB Copies''' - Make sure that "EFB Copies" is set to "Texture", and change it to "RAM" only when running a game that requires it. You can also check "Enable cache" when using EFB to RAM to gain a small speedup.
 
** Disabling EFB Copies entirely can provide a radical speedup, however it provides this by disabling an entire class of effects, and will break most games. It is not recommended.
 
* '''Cache Display Lists''' - Allows Dolphin to maintain a cache of display lists (series of graphical commands sent to the emulated GPU) for possible speed-ups. It can cause frequent crashes however, so it is not recommended.
 
* '''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.
 
* '''OpenMP Texture Decoder''' - Uses multiple CPU cores for texture decoding. Helps with microstuttering and provides a slight speed up. But be careful with it: in rare instances it can max out all cores and actually hurt more than it helps.
 
* '''Hacked Buffer Upload''' - OpenGL only. Greatly improves OpenGL's performance with nVidia cards. Recommended.
 
* '''Fast Depth Calculation''' - Uses a less accurate method of calculating depth values. Gives a decent speedup, but can cause flickering textures.
 
* '''Anti-aliasing/Anisotropic Filtering''' - Tip: Set these to the lowest in Dolphin. You can then configure your graphics card to override the AA/AF settings of Dolphin to a higher value and get the effect of high AA/AF without the performance hit. It is possible to get 30fps with 24x Graphics Card AA via this method versus 8 fps and 16x AA via Dolphin on the same game.
 
[[File:Performance Guide Graphics General.png|link=]]
 
[[File:Performance Guide Graphics Enhancements.png|link=]]
 
<div style="clear:left;"></div>
 
[[File:Performance Guide Graphics Hacks.png|link=]]
 
  
== DSP ==
+
== Graphics Settings ==
[[File:Dolphin emulator dsp.png|link=]]
+
Some of these settings will improve emulation compatibility in exchange of PC performance.
  
* '''DSP Emulator Engine''' - DSP HLE is the fastest DSP Emulator Engine. However, it can have some problems with certain games. Use [[DSP LLE]] if DSP HLE is not working properly. See [[DSP LLE]] for more details.
+
=== General ===
* '''DSP on Thread''' - For systems with three or more CPU cores, this option can give a nice performance boost. However, it can cause glitches with DSP HLE and freezes with DSP LLE. Use carefully.
+
==== 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.
  
[[File:Performance Guide Audio General.png|link=]]
+
* '''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.
 +
 
 +
=== 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 [[:Category:Store EFB Copies to Texture Only (Config Required)|this page]] for a list of titles that require disabling it.
 +
{{image|Paper Mario TTYD - Cabin Transition EFB2Tex.gif|'''EFB Copies to Texture Only''' - Enabled}}
 +
{{image|Paper Mario TTYD - Cabin Transition EFB2RAM.gif|'''EFB Copies to Texture Only''' - Disabled|br}}
 +
* '''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 [[: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.
  
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]

Latest revision as of 09: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.