Configuration Guide: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
(→‎DSP: Removed a Google Code link and made the related sentence more up-to-date with the development builds)
(42 intermediate revisions by 11 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.
* '''Enable Dual Core''' - Provides a significant speedup on modern systems. Recommended.
* '''Processor:''' A CPU with SSE2 support. A modern CPU (3 GHz and Dual Core, not older than 2008) is highly recommended.
* '''Enable Idle Skipping''' - A free speedup 99% of the time. 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.
* '''CPU Emulator Engine''' - JIT Recompiler is the fastest and most stable of the CPU emulator engines.


== Graphics ==
== Dolphin Configuration ==
* '''Backend''' - Which graphics backend is the fastest generally varies depending on the game that you are playing. Experiment to find what works for you. Note: OpenGL is the only backend available on Linux and Mac OSX.
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.
* '''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.
 
* '''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.
=== Enable Dual Core ===
* '''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.
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.
* '''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.
 
* '''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.
=== 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 '''D3D12''' is preferred on Intel. '''D3D11''' 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 ====
*'''Asynchronous (Ubershaders)''' is the recommended setting for most GPUs as it reduces shader compilation stutter with minimal performance impact.
*'''Synchronous''' should be used as a fallback for older systems or GPUs that do not work well with ubershaders such as some mobile GPUs.  
*'''Synchronous (Ubershaders)''' is the most effective at reducing shader compilation stutter but should only be used on high-end dedicated GPUs; otherwise general performance will be severely impacted.
*'''Asynchronous (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.
* '''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 ==
* '''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.
* '''DSPLLE on Separate Thread''' - For systems with three or more CPU cores, this option can give a nice performance boost to DSP LLE. However, it can cause freezes in [[:Category:Zelda ucode games|Zelda ucode games]]. Use carefully.
**Notice: this option was broken between {{revision|4.0-296}} and {{revision|4.0-1413}}.


[[Category:Tutorials]]
[[Category:Tutorials]]

Revision as of 20:47, 15 April 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 D3D12 is preferred on Intel. D3D11 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

  • Asynchronous (Ubershaders) is the recommended setting for most GPUs as it reduces shader compilation stutter with minimal performance impact.
  • Synchronous should be used as a fallback for older systems or GPUs that do not work well with ubershaders such as some mobile GPUs.
  • Synchronous (Ubershaders) is the most effective at reducing shader compilation stutter but should only be used on high-end dedicated GPUs; otherwise general performance will be severely impacted.
  • Asynchronous (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.