Configuration Guide: Difference between revisions

From Dolphin Emulator Wiki
Jump to navigation Jump to search
No edit summary
(→‎Shader Compilation: fix typo and reword Exclusive Ubershaders to emphasize it should not be preferred over the other options (besides Skip Drawing))
(29 intermediate revisions by 8 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 through game properties. Dolphin is a very demanding program, so configuring Dolphin the right way is very important to run games 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.


== System Requirements ==
== System Requirements ==
Every game has different requirements, some games may require a powerful computer while some other games may not. Generally, these are the minimum recommended requirements for Dolphin.
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'''
* '''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.
** 64-bit edition of Windows (7 SP1 or higher)
* '''Processor:''' A CPU with SSE2 support. A modern CPU (3 GHz and Dual Core, not older than 2008) is highly recommended.
** Linux
* '''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.
** macOS (10.10 Yosemite 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. Getting a better CPU in single threaded performance can alleviate the imminent emulation speed loss.
* '''Graphics''' - A reasonably modern graphics card (Direct3D 10.0 / OpenGL 3.0). A graphics card that supports Direct3D 11 / OpenGL 4.4 is recommended. Getting a more powerful graphics card can sustain emulation speed while raising some graphics settings for HD gameplay.


== Dolphin Configuration ==
== Dolphin Configuration ==
Line 18: Line 12:


=== Enable Dual Core ===
=== Enable Dual Core ===
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.
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 ===
=== CPU Emulator Engine ===
There are currently four CPU Emulator Engines, the recommended one is '''JIT Recompiler''' which is the fastest engine and the recommended on almost all games. The others being...
'''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.
 
* '''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.


=== Audio ===
=== Audio ===
'''DSP HLE''' is the fastest DSP Emulator Engine. It is very reliable, and only a few games still have problems with it. See [[DSP LLE]] for more details. '''OpenAL''' is faster backend. Recommended on almost all games.
'''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 ==
== Graphics Settings ==
These settings will improve emulation compatibility and/or enhance quality for HD gameplay in exchange of PC performance.
Some of these settings will improve emulation compatibility in exchange of PC performance.


=== General ===
=== General ===
Depending of the game and the graphics card: '''OpenGL''' or '''Direct3D 11''' in backend setting will offer better performance. Vulkan and Direct3D 12 are still in experimental phase and they are still not recommended.
==== 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 [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.


'''Fullscreen Resolution''' changes monitor resolution during fullscreen. No performance difference except influencing the "Auto" options in Internal Resolution settings. '''V-Sync''' helps prevent screen tearing.
=== 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.


=== Enhancements and Hacks ===
=== Hacks ===
* '''Internal Resolution''' - The real visual difference. "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''' - 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.
* '''Skip EFB Access from CPU''' - Provides a speed boost. However it provides this boost at the expense of emulation accuracy, breaking some games 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.
* '''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. 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.
* '''Store EFB Copies to Texture Only''' - Enabled by default. Disable it only when running a game that requires 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.
* '''Disable Bounding Box''' - Don't emulate bounding box calculation, which is only required for a limited set of games, mostly [[:Category:Paper Mario (Series)|Paper Mario games]].
* '''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 games at higher internal resolutions.
* '''Vertex Rounding''' - Rounding 2D vertices to whole pixels, fixes graphical glitches seen in several titles at higher internal resolutions.


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

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.