Difference between revisions of "Help:Default Settings"

Help page
m (→‎CPU configuration: Add Full width AVX-512 option.)
(→‎CPU configuration: renamed Accurate xfloat to be consistant with the new versions of RPCS3)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Below is the default configuration for the emulator. Not all options mentioned below are mandatory. For example, options such as ''Resolution Scale'' and ''Anisotropic Filter'' can be increased if your graphics card can handle the additional load whereas ''Lower SPU Thread Priority'' should be used with weaker CPUs. For best performance, read the description for each option carefully and also refer to the specific configurations mentioned for each game page.
Below is the default configuration for the emulator. Not all options mentioned below are mandatory. For example, options such as ''Resolution Scale'' and ''Anisotropic Filter'' can be increased if your graphics card can handle the additional load whereas ''Approximate xfloat'' should be disabled with weaker CPUs on games that will work fine without it. If the game has graphical glitches, you may also need to enable ''Write Color Buffers or Read Color Buffers'' to fix them. For best performance, read the description for each option carefully and also refer to the specific configurations mentioned for each game page.


==CPU configuration==
==CPU configuration==
Line 7: Line 7:
! Description
! Description
|-
|-
|'''PPU decoder'''||LLVM Recompiler||'''LLVM Recompiler''': Recompiles the game's executable once before running it for the first time. By far the fastest option and should always be used. Should you face compatibility issues, fall back to one of the Interpreters and retry. <br>'''Interpreter (fast)''': The fastest interpreter. Trades accuracy for speed, and it very rarely breaks games even in comparison to the precise option. Try this if PPU LLVM Recompiler fails. <br>'''Interpreter (precise)''': The most accurate Interpreter, but very slow to play games with. You may try this as a last resort if you encounter odd bugs or crashes.
|'''PPU decoder'''||LLVM Recompiler||'''LLVM Recompiler''': Recompiles the game's executable once before running it for the first time. By far the fastest option and should always be used. Should you face compatibility issues, fall back to one of the Interpreters and retry. <br>'''Interpreter (dynamic)''': May be faster than static interpreter. Try this if PPU LLVM Recompiler doesn't work. <br>'''Interpreter (static)''': This is the most accurate option. Interpreter (slow). Try this if PPU Recompiler doesn't work.
|-
|-
|'''SPU decoder'''||LLVM Recompiler||'''LLVM Recompiler''': Fastest option with very good compatibility. Recompiles the game's SPU LLVM cache before running which adds extra start-up time. If you experience issues, use the ASMJIT Recompiler. <br>'''ASMJIT Recompiler''': Fast option with very good compatibility. <br>'''Interpreter (fast)''': Slower than the SPU ASMJIT Recompiler but significantly faster than Interpreter (precise). Games rarely need this option. <br>'''Interpreter (precise)''': Extremely slow but may fix broken graphics in some games.
|'''SPU decoder'''||LLVM Recompiler||'''LLVM Recompiler''': Fastest option with very good compatibility. Recompiles the game's SPU LLVM cache before running which adds extra start-up time. If you experience issues, use the ASMJIT Recompiler. <br>'''ASMJIT Recompiler''': Fast option with very good compatibility. If unsure use this option. <br>'''Interpreter (dynamic)''': May be faster than static interpreter. Try this if SPU Recompiler (LLVM) and ASMJIT doesn't work. <br>'''Interpreter (static)''': Slowest option. Try this if SPU Recompiler (LLVM), ASMJIT, and Dynamic do not work.
|-
|-
|'''Enable SPU loop detection'''||Off||Try to detect loop conditions in SPU kernels and use them as scheduling hints. <br>Improves performance and reduces CPU usage. May cause severe audio stuttering in rare cases.
|'''Enable SPU loop detection'''||Off||Try to detect loop conditions in SPU kernels and use them as scheduling hints. <br>Improves performance and reduces CPU usage. May cause severe audio stuttering in rare cases.
|-
|-
|-
|'''SPU XFloat Accuracy'''||Approximate XFloat||Control accuracy to SPU float vectors processing.<br>Fixes bugs in various games at the cost of performance.<br>This setting is only applied when SPU Decoder is set to Dynamic or LLVM.
|'''Accurate xfloat'''||Off||Fixes bugs in various games at the cost of performance. This setting is only applied when SPU LLVM is active.
|-
|-
|'''Full width AVX-512'''||Off||Enables the use of code with full width AVX-512.<br>This code can be executed much faster, but may cause a loss in performance if your CPU model experiences downclocking on wide AVX-512 loads.<br>Note that AVX-512 instructions will be used regardless of this option, just at 128 and 256 bit width.<br>Only available with CPUs that support AVX-512.
|'''Full width AVX-512'''||Off||Enables the use of code with full width AVX-512.<br>This code can be executed much faster, but may cause a loss in performance if your CPU model experiences downclocking on wide AVX-512 loads.<br>Note that AVX-512 instructions will be used regardless of this option, just at 128 and 256 bit width.<br>Only available with CPUs that support AVX-512.
|-
|-
|'''TSX instructions'''||Enabled||Enable usage of TSX instructions. <br>Needs to be forced on some Haswell or Broadwell CPUs. Forcing this on older Hardware can lead to system instability, use it with caution.
|'''TSX instructions'''||Enabled||Enable usage of TSX instructions. <br>Needs to be forced on some Haswell or Broadwell CPUs. Forcing this on older Hardware can lead to system instability, use it with caution. Also needs to be forced if TSX-FA is detected.
|-
|-
|'''SPU block size'''||Safe||This option controls the SPU analyser, particularly the size of compiled units. <br>Mega and Giga modes may improve performance by tying smaller units together, decreasing the number of compiled units but increasing their size. <br>Use the Safe mode for maximum compatibility.
|'''SPU block size'''||Safe||This option controls the SPU analyser, particularly the size of compiled units. <br>Mega and Giga modes may improve performance by tying smaller units together, decreasing the number of compiled units but increasing their size. <br>Use the Safe mode for maximum compatibility.
|-
|-
|'''Preferred SPU threads'''||Auto||Some SPU stages are sensitive to race conditions and allowing a limited number at a time helps alleviate performance stalls. Setting this to a smaller value might improve performance and reduce stuttering in some games. <br>Please note that the best value depends on the individual game and specific CPU being used, so users need to try different values themselves. <br>Leave this on ''Auto'' if performance is negatively affected when setting a small value.
|'''Preferred SPU threads'''||Auto||Some SPU stages are sensitive to race conditions and allowing a limited number at a time helps alleviate performance stalls. Setting this to a smaller value might improve performance and reduce stuttering in some games. <br>Please note that the best value depends on the individual game and specific CPU being used, so users need to try different values themselves. <br>Leave this on ''Auto'' if performance is negatively affected when setting a small value.
|-
|'''Thread Scheduler'''||Operating System||Control how RPCS3 utilizes the threads of your system.<br>Each option heavily depends on the game and on your cpu. It is recommended to try each option to find out which performs the best. Changing the thread scheduler is not supported for CPUs with less than 12 logical threads.
|}
|}


Line 35: Line 36:
|'''Graphics device'''||NA||On multi GPU systems select which GPU to use in RPCS3 when using Vulkan. This is not needed when using OpenGL.
|'''Graphics device'''||NA||On multi GPU systems select which GPU to use in RPCS3 when using Vulkan. This is not needed when using OpenGL.
|-
|-
|'''Aspect ratio'''||16:9||Leave this on 16:9 unless you have a 4:3 monitor. Auto also works well, especially if you use a resolution that is not 720p.
|'''Aspect ratio'''||16:9||Leave this on 16:9 unless you have a 4:3 monitor.
|-
|-
|'''Framelimit'''||Off||Most games have an inbuilt framelimit and adding RPCS3's limiter on-top of that will only hurt performance even if you're well below reaching the cap. Off is the best option as it performs faster. <br>Only use framelimiter if a game runs too fast without it. Some games will crash if the framerate is too high. If that happens, set value to anything other than ''Off''.
|'''Framelimit'''||Auto||Most games have a built in frame limit. By using RPCS3's framelimiter simultaneously with the game one you may only hurt performance. Setting the framelimit to Off is the best option as it performs faster. <br>Only use framelimiter if a game runs too fast without it. Some games may crash if the framerate is too high. If that happens, set value to anything other than ''Off''.
|-
|-
|'''Anisotropic filter'''||Automatic||Higher values increase sharpness of textures on sloped surfaces at the cost of GPU resources. <br>Setting it to '''16x''' provides the best quality and can be done on any modern GPU. However, some games (such as Unreal Engine titles) may have visual artifacts. <br>In such cases, set it to '''Automatic''' to allow games to use their own inbuilt filtering methods. <br>There's not much reason to use a value below 16x as it will only look worse with the same performance and compatibility issues in certain games.
|'''Anisotropic filter'''||Auto||Modern GPUs can handle this setting fine, even at 16x. Keep this on Auto if you want to use the original settings used by a real PS3. May break some Unreal Engine games if set to anything except auto. Higher values increase sharpness of textures on sloped sufaces at the cost of GPU resources. If unsure give 16x a try.
|-
|-
|'''Anti-aliasing'''||Auto||Emulates PS3 multisampling layout.<br>Can fix some visual artifacts in some games.<br>Low to moderate performance hit depending on your GPU hardware.
|'''Anti-aliasing'''||Auto||Emulates PS3 multisampling layout.<br>Can fix some visual artifacts in some games.<br>Low to moderate performance hit depending on your GPU hardware.
|-
|-
|'''ZCULL accuracy'''||Precise||Changes ZCULL report synchronization behaviour. Use with caution.<br><br>'''Precise''' is the most accurate to PS3 behaviour.<br>'''Approximate''' is just a faster way to generate occlusion data which may not always match what the PS3 would generate.<br>'''Relaxed''' changes the synchronization method completely and can improve performance in some games or completely break others.
|'''ZCULL accuracy'''||Precise (slowest)||Changes ZCULL report synchronization behavior. Experiment to find the best option for your game.<br>'''Precise''' is the most accurate to PS3 behaviour.<br>'''Approximate''' is a faster way to generate occlusion data which may not always match what the PS3 would generate.<br>'''Relaxed''' changes the synchronization method completely and can improve performance and break visual effects in some games.
|-
|-
|'''Default resolution'''||1280x720||In most cases, do not change resolution in settings, leave it at ''1280x720''. Any other setting may result in compatibility issues and performance decrease. <br>If you wish to try setting the resolution higher to 1920x1080, you '''MUST''' check the compatible resolutions for the game from the game list to ensure that it can support such a resolution. <br>Forcing such resolution on games that do not support it will result in significant issues. <br>Using resolutions lower than ''1280x720'' will not improve performance in any way.
|'''Default resolution'''||1280x720||In most cases, do not change resolution in settings, leave it at ''1280x720''. Any other setting may result in compatibility issues and performance decrease. <br>If you wish to try setting the resolution higher to 1920x1080, you '''MUST''' check the compatible resolutions for the game from the game list to ensure that it can support such a resolution. <br>Forcing such resolution on games that do not support it will result in significant issues. <br>Using resolutions lower than ''1280x720'' will not improve performance.
|-
|-
|'''Resolution scale'''||100%||Scales the game's resolution by the given percentage of the base resolution set in the above option. Set this value to 100% if you want to use the normal resolution. <br>Note that you can use keyboard arrow keys for precise changes on the slide bars.
|'''Resolution scale'''||100%||Scales the game's resolution by the given percentage of the base resolution set in the above option. Set this value to 100% if you want to use the normal resolution. <br>Note that you can use keyboard arrow keys for precise changes on the slide bars.
|-
|-
|'''Resolution scale threshold'''||16 x 16||Only framebuffers greater than this size will be upscaled. Increasing this value might fix problems with missing graphics when upscaling, especially when Write Color Buffers is enabled. Do not touch this setting if you are unsure. <br>Note that you can use keyboard arrow keys for precise changes on the slide bars.
|'''Resolution scale threshold'''||16 x 16||Only framebuffers greater than this size will be upscaled. Increasing this value might fix problems with missing graphics when upscaling, especially when Write Color Buffers is enabled. Do not touch this setting if you are unsure. <br>Note that you can use keyboard arrow keys for precise changes on the slide bars.
|-
|'''FSR'''||Disabled||AMD FidelityFX Super Resolution upscaling filter. FSR will attempt to handle upscaling with a reduced VRAM usage for games that have high VRAM usage. May cause visual artifacts. Does not currently work with stereo 3D output or OpenGL at the moment. If unsure use Resolution scaler instead.
|-
|-
|'''Shader mode'''||Async (multi threaded)||'''Legacy (single threaded)''': Disables asynchronous shader compilation. Fixes missing graphics while shaders are compiling but introduces severe stuttering or lag. Use this if you do not want to deal with graphics pop-in, or for testing before filing any bug reports.<br>'''Async (multi threaded)''': This is the recommended option. If a shader is not found in the cache, nothing will be rendered for this shader until it has compiled. You may experience graphics pop-in.<br>'''Async with shader interpreter''': Hybrid rendering mode. If a shader is not found in the cache, the interpreter will be used to render approximated graphics for this shader until it has compiled.<br>'''Shader interpreter only''': All rendering is handled by the interpreter with no attempt to compile native shaders. This mode is very slow and experimental.
|'''Shader mode'''||Async (multi threaded)||'''Legacy (single threaded)''': Disables asynchronous shader compilation. Fixes missing graphics while shaders are compiling but introduces severe stuttering or lag. Use this if you do not want to deal with graphics pop-in, or for testing before filing any bug reports.<br>'''Async (multi threaded)''': This is the recommended option. If a shader is not found in the cache, nothing will be rendered for this shader until it has compiled. You may experience graphics pop-in.<br>'''Async with shader interpreter''': Hybrid rendering mode. If a shader is not found in the cache, the interpreter will be used to render approximated graphics for this shader until it has compiled.<br>'''Shader interpreter only''': All rendering is handled by the interpreter with no attempt to compile native shaders. This mode is very slow and experimental.
Line 61: Line 64:
|'''VSync'''||Off||By having this off you might obtain a higher frame rate at the cost of tearing artifacts in the game.
|'''VSync'''||Off||By having this off you might obtain a higher frame rate at the cost of tearing artifacts in the game.
|-
|-
|'''Stretch to display area'''||Off||Overrides the aspect ratio and stretches the image to the full display area.
|'''Stretch to display area'''||Off||Overrides the aspect ratio and stretches the image to the full display area. Useful for games that have an ultrawide (21:9 or 32:9) patch available.
|-
|-
|'''Enable 3D'''||Off||Enables 3D stereo rendering.<br>Note that only anaglyph viewing is supported at the moment.
|'''Enable 3D'''||Off||Enables 3D stereo rendering.<br>Note that only anaglyph viewing is supported at the moment.
Line 78: Line 81:
! Description
! Description
|-
|-
|'''Audio output (Windows)'''||XAudio2||XAudio2 is the recommended option and should be used whenever possible. <br>OpenAL uses a cross-platform approach and is the next best alternative.
|'''Audio output'''||Cubeb||Cubeb is the recommended option and should be used whenever possible. <br>'''Windows''': XAudio2 is the next best alternative. <br>'''Linux''': PulseAudio is the next best alternative.
|-
|-
|'''Audio output (Linux)'''||OpenAL||OpenAL uses a cross-platform approach and supports audio buffering, so it is the recommended option. <br>PulseAudio uses the native Linux sound system, and is the next best alternative. If neither are available, ALSA can be used instead.
|'''Audio channels'''||Downmix to Stereo||Uses chosen audio output instead of default 7.1 surround sound.<br>Use downmix to stereo with stereo audio devices. Use 5.1 or higher only if you are using a surround sound audio system.
|-
|-
|'''Dump to file'''||Off||Saves all audio as a raw wave file. If unsure, leave this unchecked.
|'''Dump to file'''||Off||Saves all audio as a raw wave file. If unsure, leave this unchecked.
Line 86: Line 89:
|'''Convert to 16-bit'''||Off||Uses 16-bit audio samples instead of default 32-bit floating point. Use with buggy audio drivers if you have no sound or completely broken sound.
|'''Convert to 16-bit'''||Off||Uses 16-bit audio samples instead of default 32-bit floating point. Use with buggy audio drivers if you have no sound or completely broken sound.
|-
|-
|'''Downmix to stereo'''||On||Uses stereo audio output instead of default 7.1 surround sound. Use with stereo audio devices. <br>Disable it only if you are using a surround sound audio system.
|'''Music handler'''||Qt||Currently only used for cellMusic emulation.<br>Select Qt to use the default output device of your operating system.<br>This may not be able to play all audio formats.
|-
|-
|'''Volume'''||100%||Controls the overall volume of the emulation. Values above 100% might reduce the audio quality. <br>Note that you can use keyboard arrow keys for precise changes on the slide bars.  
|'''Volume'''||100%||Controls the overall volume of the emulation. Values above 100% might reduce the audio quality. <br>Note that you can use keyboard arrow keys for precise changes on the slide bars.  
|-
|-
|'''Enable buffering'''||On||Enables audio buffering, which reduces crackle and stutter but increases audio latency (requires XAudio2 or OpenAL).
|'''Enable buffering'''||On||Enables audio buffering, which reduces crackle and stutter but increases audio latency (requires Cubeb or XAudio2).
|-
|-
|'''Audio buffer duration'''||100ms||Target buffer duration in milliseconds. Higher values make the buffering algorithm's job easier, but may introduce noticeable audio latency. <br>Note that you can use keyboard arrow keys for precise changes on the slide bars.
|'''Audio buffer duration'''||100ms||Target buffer duration in milliseconds. Higher values make the buffering algorithm's job easier, but may introduce noticeable audio latency. <br>Note that you can use keyboard arrow keys for precise changes on the slide bars.
Line 111: Line 114:
|'''Mouse handler'''||Basic||Some games support native mouse input. Basic will work in these cases.
|'''Mouse handler'''||Basic||Some games support native mouse input. Basic will work in these cases.
|-
|-
|'''Camera input'''||Unknown||Camera support is not implemented, leave this on unknown.
|'''Move handler'''||Null||PlayStation Move support is not implemented, leave this on null. <br>'''Fake''': Experimental! This maps Move controls to DS4 controller mappings.
|-
|'''Path handler mode'''||Single-threaded||'''Single-threaded''': All pad handlers run on the same thread sequentially.<br>'''Multi-threaded''': Each pad handler has its own thread.<br>Only use multi-threaded if you can spare the extra threads.
|-
|'''Camera input'''||Unknown||Depending on the game you may need to select a specific camera type.
|-
|'''Camera handler'''||Null||select QT to use the default camera device on your Operating System.
|-
|-
|'''Camera settings'''||Null||Camera support is not implemented, leave this on null.
|'''Camera'''||Default||Select the camera that you want to use during gameplay.
|-
|-
|'''Move handler'''||Null||PlayStation Move support is not implemented, leave this on null. <br>'''Fake''': Experimental! This maps Move controls to DS4 controller mappings.
|'''Camera Flip'''||No||Flips camera either Veritcally, horizontally, or both.
|-
|-
|'''Buzz! emulated controller'''||Null (use real Buzzers)||Select 1 or 2 controllers if the game requires Buzz! controllers and you don't have real controllers.<br>Select Null if the game has support for DualShock or if you have real Buzz! controllers.
|'''Buzz! emulated controller'''||Null (use real Buzzers)||Select 1 or 2 controllers if the game requires Buzz! controllers and you don't have real controllers.<br>Select Null if the game has support for DualShock or if you have real Buzz! controllers.
|-
|'''DJ Hero Emulated Turntable'''||Null||Emulates a DJ Hero Turntable. Not needed if you have a real turntable or the game supports DualShock controllers. You can use emulated turntables at the same time as real turntables.
|-
|'''Guitar Hero Live emulated guitar'''||Null||Emulates a Guitar Hero Live controller, Not needed if you have a real Guitar Hero Live controller or the game supports DualShock controllers. You can use emulated guitars at the same time as real guitars.
|}
|}


Line 138: Line 151:
|'''Console time'''||Current time||Sets the time to be used within the console. This will be applied as an offset that tracks wall clock time.<br>Can be reset to current wallclock time by clicking '''Set to Now'''.
|'''Console time'''||Current time||Sets the time to be used within the console. This will be applied as an offset that tracks wall clock time.<br>Can be reset to current wallclock time by clicking '''Set to Now'''.
|-
|-
|'''Homebrew: Enable /host_root/'''||Off||Required for some Homebrew. If unsure, don't use this option.
|'''Homebrew: Enable /host_root/'''||Off||Required for some homebrew applications. If unsure, don't use this option.
|}
|}


Line 153: Line 166:
|'''IP/Host switches'''||||DNS Swap List.
|'''IP/Host switches'''||||DNS Swap List.
|-
|-
|'''PSN Status'''||Disconnected||If set to Simulated, RPCS3 will fake PSN connection as best as it can.
|'''PSN Status'''||Disconnected||If set to Simulated, RPCS3 will fake PSN connection as best as it can. If set to RPCN, RPCS3 will use a Peer to Peer server connection to emulate online gameplay to the best of it's ability.
|}
|}


Line 164: Line 177:
|'''Debug console mode'''||Off||Increases the amount of usable system memory to match a DECR console and more. <br>Causes some software to behave differently than on retail hardware.
|'''Debug console mode'''||Off||Increases the amount of usable system memory to match a DECR console and more. <br>Causes some software to behave differently than on retail hardware.
|-
|-
|'''Accurate LLVM DFMA'''||On||Provides extra accuracy on FMA instructions at the cost of performance.<br>While disabling it might give a decent performance boost if your CPU doesn't support FMA, it may also introduce subtle bugs that otherwise do not occur.<br>You can't disable it if your CPU supports FMA.
|'''Accurate DFMA'''||On||Provides extra accuracy on FMA instructions at the cost of performance.<br>While disabling it might give a decent performance boost if your CPU doesn't support FMA, it may also introduce subtle bugs that otherwise do not occur.<br>You can't disable it if your CPU supports FMA.
|-
|'''Accurate RSX reservation access'''||Off||Forces RSX pauses on SPU MFC_GETLLAR and SPU MFC_PUTLLUC operations. Improves stability in some games but reduces performance.
|-
|-
|'''Accurate RSX reservation access'''||Off||Forces RSX pauses on SPU MFC_GETLLAR and SPU MFC_PUTLLUC operations.
|'''PPU Non-Java mode Fixup'''||On||Legacy option, Fixup result vector values in Non-Java Mode in PPU LLVM. If unsure, do not modify this setting.
|-
|-
|'''PPU LLVM accurate vector NaNs'''||Off||Forces the floating point NaN (Not A Number) values outputted from PPU vector instructions to be accurate to the real hardware. (0x7FC00000)
|'''Accurate PPU Saturation Bit'''||Off||Accurately set Saturation Bit values in PPU backends. If unsure, do not modify this setting.
|-
|-
|'''PPU LLVM Java mode handling'''||On||Respect current Java Mode for alti-vec ops by PPU LLVM.<br>If unsure, do not modify this setting.
|''Accurate PPU Non-Java Mode'''||Off||Respect Non-Java Mode bit values for vector ops in PPU backends. If unsure, do not modify this setting.
|-
|'''PPU Vector NaN Fixup'''||Off||Fixup NaN resultsin vector instructions in PPU Backends. If unsure, do not modify this setting.
|-
|'''Accurate PPU vector NaN handling'''||Off||Accurately set NaN results in vector instructions in PPU backends. If unsure, do not modify this setting.
|-
|'''Accurate PPU Float Condition Control'''||Off||Accurately set FPCC Bits in PPU backends. If unsure, do not modify this setting.
|-
|-
|'''PPU LLVM precompilation'''||On||Searches the game's directory and precompiles extra PPU modules during boot.<br>If disabled, these modules will only be compiled when needed. Depending on the game, this might interrupt the gameplay unexpectedly and possibly frequently.<br>Only disable this if you want to get ingame more quickly.
|'''PPU LLVM precompilation'''||On||Searches the game's directory and precompiles extra PPU modules during boot.<br>If disabled, these modules will only be compiled when needed. Depending on the game, this might interrupt the gameplay unexpectedly and possibly frequently.<br>Only disable this if you want to get ingame more quickly.
Line 192: Line 213:
|'''Disable native float16 support'''||Off||Disables hardware half-float support which is known to cause problems in some rare cases on some GPUs.
|'''Disable native float16 support'''||Off||Disables hardware half-float support which is known to cause problems in some rare cases on some GPUs.
|-
|-
|'''Vulkan queue scheduler'''||Device||Determines how to schedule GPU async compute jobs when using asynchronous streaming.<br>Use '''Host''' mode for more spec compliant behavior at the cost of CPU overhead.<br>Use ''Device'' to let your driver handle this. Beware that '''Device''' mode technically violates official spec but is the superior option.
|'''Allow host GPU labels (experimental)'''||Off||Allows the host GPU to synchronize with CELL directly. This incurs a performance penalty, but exposes the true state of GPU objects to the guest CPU. Can help eliminate visual noise and glitching at the cost of performance. Use with caution.
|-
|'''Vulkan queue scheduler'''||Safe||Determines how to schedule GPU async compute jobs when using asynchronous streaming.<br>'''Safe''' mode is spec compliant at the cost of some CPU overhead. This works with all devices.<br>'''Fast''' mode is faster but violates the Vulkan specification and is hacky. It is disabled on NVIDIA GPUs as it is known to cause GPU hangs.
|-
|-
|'''Driver wake-up delay'''||1 µs||Try fiddling with this setting when encountering unstable games. The higher value, the better stability it may provide.<br>Increments/Decrements for each test should be around 100μs to 200μs until finding the best value for optimal stability.<br>Values above 1000μs may cause noticeable performance penalties, use with caution.<br>Only available on per-game configurations.
|'''Driver wake-up delay'''||1 µs||Try fiddling with this setting when encountering unstable games. The higher value, the better stability it may provide. 200μs and 400μs are good for most games.<br>Increments/Decrements for each test should be around 100μs to 200μs until finding the best value for optimal stability.<br>Values above 1000μs may cause noticeable performance penalties, use with caution.<br>Only available on per-game configurations.
|-
|-
|'''VBlank frequency'''||60 Hz||Adjusts the frequency of vertical blanking signals that the emulator sends.<br>Affects timing of events which rely on these signals.<br>Only available on per-game configurations.
|'''VBlank frequency'''||60 Hz||Adjusts the frequency of vertical blanking signals that the emulator sends.<br>Affects timing of events which rely on these signals.<br>Only available on per-game configurations.
Line 236: Line 259:
|'''MFC debug'''||Off||Creates MFC logs.<br>Only useful for developers.<br>Never use this.
|'''MFC debug'''||Off||Creates MFC logs.<br>Only useful for developers.<br>Never use this.
|-
|-
|'''Set DAZ and FTZ'''||Off||Sets special MXCSR flags to debug errors in SSE operations.<br>Only used in PPU thread when it's not precise.\nOnly useful to developers.<br>Never use this.
|'''Set DAZ and FTZ'''||Off||Sets special MXCSR flags to debug errors in SSE operations.<br>Only used in PPU thread when it's not precise.<br>Only useful to developers.<br>Never use this.
|-
|-
|'''Accurate GETLLAR'''||Off||Accurately processes SPU MFC_GETLLAR operation.
|'''Accurate GETLLAR'''||Off||Accurately processes SPU MFC_GETLLAR operation.
Line 242: Line 265:
|'''Accurate SPU DMA'''||Off||Accurately processes SPU DMA operations.
|'''Accurate SPU DMA'''||Off||Accurately processes SPU DMA operations.
|-
|-
|'''Accurate cache line stories'''||Off||Accurately processes PPU DCBZ instruction.\nIn addition, when combined with Accurate SPU DMA, SPU PUT cache line accesses will be processed atomically.
|'''Accurate cache line stories'''||Off||Accurately processes PPU DCBZ instruction.<br>In addition, when combined with Accurate SPU DMA, SPU PUT cache line accesses will be processed atomically.
|-
|-
|'''Hook static functions'''||Off||Allows to hook some functions like 'memcpy' replacing them with high-level implementations. <br>May do nothing or break things. Experimental.
|'''Hook static functions'''||Off||Allows to hook some functions like 'memcpy' replacing them with high-level implementations. <br>May do nothing or break things. Experimental.

Latest revision as of 20:09, 21 April 2022

Below is the default configuration for the emulator. Not all options mentioned below are mandatory. For example, options such as Resolution Scale and Anisotropic Filter can be increased if your graphics card can handle the additional load whereas Approximate xfloat should be disabled with weaker CPUs on games that will work fine without it. If the game has graphical glitches, you may also need to enable Write Color Buffers or Read Color Buffers to fix them. For best performance, read the description for each option carefully and also refer to the specific configurations mentioned for each game page.

CPU configuration

Setting Default Option Description
PPU decoder LLVM Recompiler LLVM Recompiler: Recompiles the game's executable once before running it for the first time. By far the fastest option and should always be used. Should you face compatibility issues, fall back to one of the Interpreters and retry.
Interpreter (dynamic): May be faster than static interpreter. Try this if PPU LLVM Recompiler doesn't work.
Interpreter (static): This is the most accurate option. Interpreter (slow). Try this if PPU Recompiler doesn't work.
SPU decoder LLVM Recompiler LLVM Recompiler: Fastest option with very good compatibility. Recompiles the game's SPU LLVM cache before running which adds extra start-up time. If you experience issues, use the ASMJIT Recompiler.
ASMJIT Recompiler: Fast option with very good compatibility. If unsure use this option.
Interpreter (dynamic): May be faster than static interpreter. Try this if SPU Recompiler (LLVM) and ASMJIT doesn't work.
Interpreter (static): Slowest option. Try this if SPU Recompiler (LLVM), ASMJIT, and Dynamic do not work.
Enable SPU loop detection Off Try to detect loop conditions in SPU kernels and use them as scheduling hints.
Improves performance and reduces CPU usage. May cause severe audio stuttering in rare cases.
SPU XFloat Accuracy Approximate XFloat Control accuracy to SPU float vectors processing.
Fixes bugs in various games at the cost of performance.
This setting is only applied when SPU Decoder is set to Dynamic or LLVM.
Full width AVX-512 Off Enables the use of code with full width AVX-512.
This code can be executed much faster, but may cause a loss in performance if your CPU model experiences downclocking on wide AVX-512 loads.
Note that AVX-512 instructions will be used regardless of this option, just at 128 and 256 bit width.
Only available with CPUs that support AVX-512.
TSX instructions Enabled Enable usage of TSX instructions.
Needs to be forced on some Haswell or Broadwell CPUs. Forcing this on older Hardware can lead to system instability, use it with caution. Also needs to be forced if TSX-FA is detected.
SPU block size Safe This option controls the SPU analyser, particularly the size of compiled units.
Mega and Giga modes may improve performance by tying smaller units together, decreasing the number of compiled units but increasing their size.
Use the Safe mode for maximum compatibility.
Preferred SPU threads Auto Some SPU stages are sensitive to race conditions and allowing a limited number at a time helps alleviate performance stalls. Setting this to a smaller value might improve performance and reduce stuttering in some games.
Please note that the best value depends on the individual game and specific CPU being used, so users need to try different values themselves.
Leave this on Auto if performance is negatively affected when setting a small value.
Thread Scheduler Operating System Control how RPCS3 utilizes the threads of your system.
Each option heavily depends on the game and on your cpu. It is recommended to try each option to find out which performs the best. Changing the thread scheduler is not supported for CPUs with less than 12 logical threads.

GPU configuration

Setting Default Option Description
Renderer Vulkan Vulkan is the fastest renderer while OpenGL is the most accurate renderer. If unsure, use Vulkan.
Should you have any compatibility issues when using Vulkan, fall back to OpenGL.
Graphics device NA On multi GPU systems select which GPU to use in RPCS3 when using Vulkan. This is not needed when using OpenGL.
Aspect ratio 16:9 Leave this on 16:9 unless you have a 4:3 monitor.
Framelimit Auto Most games have a built in frame limit. By using RPCS3's framelimiter simultaneously with the game one you may only hurt performance. Setting the framelimit to Off is the best option as it performs faster.
Only use framelimiter if a game runs too fast without it. Some games may crash if the framerate is too high. If that happens, set value to anything other than Off.
Anisotropic filter Auto Modern GPUs can handle this setting fine, even at 16x. Keep this on Auto if you want to use the original settings used by a real PS3. May break some Unreal Engine games if set to anything except auto. Higher values increase sharpness of textures on sloped sufaces at the cost of GPU resources. If unsure give 16x a try.
Anti-aliasing Auto Emulates PS3 multisampling layout.
Can fix some visual artifacts in some games.
Low to moderate performance hit depending on your GPU hardware.
ZCULL accuracy Precise (slowest) Changes ZCULL report synchronization behavior. Experiment to find the best option for your game.
Precise is the most accurate to PS3 behaviour.
Approximate is a faster way to generate occlusion data which may not always match what the PS3 would generate.
Relaxed changes the synchronization method completely and can improve performance and break visual effects in some games.
Default resolution 1280x720 In most cases, do not change resolution in settings, leave it at 1280x720. Any other setting may result in compatibility issues and performance decrease.
If you wish to try setting the resolution higher to 1920x1080, you MUST check the compatible resolutions for the game from the game list to ensure that it can support such a resolution.
Forcing such resolution on games that do not support it will result in significant issues.
Using resolutions lower than 1280x720 will not improve performance.
Resolution scale 100% Scales the game's resolution by the given percentage of the base resolution set in the above option. Set this value to 100% if you want to use the normal resolution.
Note that you can use keyboard arrow keys for precise changes on the slide bars.
Resolution scale threshold 16 x 16 Only framebuffers greater than this size will be upscaled. Increasing this value might fix problems with missing graphics when upscaling, especially when Write Color Buffers is enabled. Do not touch this setting if you are unsure.
Note that you can use keyboard arrow keys for precise changes on the slide bars.
FSR Disabled AMD FidelityFX Super Resolution upscaling filter. FSR will attempt to handle upscaling with a reduced VRAM usage for games that have high VRAM usage. May cause visual artifacts. Does not currently work with stereo 3D output or OpenGL at the moment. If unsure use Resolution scaler instead.
Shader mode Async (multi threaded) Legacy (single threaded): Disables asynchronous shader compilation. Fixes missing graphics while shaders are compiling but introduces severe stuttering or lag. Use this if you do not want to deal with graphics pop-in, or for testing before filing any bug reports.
Async (multi threaded): This is the recommended option. If a shader is not found in the cache, nothing will be rendered for this shader until it has compiled. You may experience graphics pop-in.
Async with shader interpreter: Hybrid rendering mode. If a shader is not found in the cache, the interpreter will be used to render approximated graphics for this shader until it has compiled.
Shader interpreter only: All rendering is handled by the interpreter with no attempt to compile native shaders. This mode is very slow and experimental.
Number of shader compiler threads Auto Number of threads to use for the shader compiler backend.
Only has an impact when shader mode is set to one of the asynchronous modes.
Write color buffers Off Enable this option if you get missing graphics or broken lighting ingame.
Might degrade performance and introduce stuttering in some cases.
Strict rendering mode Off Enforces strict compliance to the API specification. Might result in degraded performance in some games. Can resolve rare cases of missing graphics and flickering.
Overrides settings for Resolution Scale and Resolution Scale Threshold and enforces default values.
It is meant to disable all the shortcuts in the rendering path, and as such it trades speed and resolution options for the enhanced compatibility.
VSync Off By having this off you might obtain a higher frame rate at the cost of tearing artifacts in the game.
Stretch to display area Off Overrides the aspect ratio and stretches the image to the full display area. Useful for games that have an ultrawide (21:9 or 32:9) patch available.
Enable 3D Off Enables 3D stereo rendering.
Note that only anaglyph viewing is supported at the moment.
Disable vertex cache Off Disables the vertex cache. Might resolve missing or flickering graphics output. May degrade performance.
Multithreaded RSX Off Offloads some RSX operations to a secondary thread.
May improve performance for some high-core processors. May cause slowdown in some situations due to the extra worker thread load.
Asynchronous texture streaming Off Stream textures to GPU in parallel with 3D rendering.
Can improve performance on more powerful GPUs that have spare headroom.
Only works with Vulkan renderer.

Audio configuration

Setting Default Option Description
Audio output Cubeb Cubeb is the recommended option and should be used whenever possible.
Windows: XAudio2 is the next best alternative.
Linux: PulseAudio is the next best alternative.
Audio channels Downmix to Stereo Uses chosen audio output instead of default 7.1 surround sound.
Use downmix to stereo with stereo audio devices. Use 5.1 or higher only if you are using a surround sound audio system.
Dump to file Off Saves all audio as a raw wave file. If unsure, leave this unchecked.
Convert to 16-bit Off Uses 16-bit audio samples instead of default 32-bit floating point. Use with buggy audio drivers if you have no sound or completely broken sound.
Music handler Qt Currently only used for cellMusic emulation.
Select Qt to use the default output device of your operating system.
This may not be able to play all audio formats.
Volume 100% Controls the overall volume of the emulation. Values above 100% might reduce the audio quality.
Note that you can use keyboard arrow keys for precise changes on the slide bars.
Enable buffering On Enables audio buffering, which reduces crackle and stutter but increases audio latency (requires Cubeb or XAudio2).
Audio buffer duration 100ms Target buffer duration in milliseconds. Higher values make the buffering algorithm's job easier, but may introduce noticeable audio latency.
Note that you can use keyboard arrow keys for precise changes on the slide bars.
Enable time stretching Off Reduces crackle and stutter further, but may cause a very noticeable reduction in audio quality on slower CPUs.
Requires audio buffering to be enabled.
Time stretching threshold 75% Buffer fill level (in percentage) below which time stretching will start.
Note that you can use keyboard arrow keys for precise changes on the slide bars.
Microphone type Null Standard should be used for most games.
Singstar emulates a singstar device and should be used with Singstar games.
Real Singstar should only be used with a REAL Singstar device with Singstar games.
Rocksmith should be used with a Rocksmith dongle.

I/O configuration

Setting Default Option Description
Keyboard handler Null Some games support native keyboard input. Basic will work in these cases.
Mouse handler Basic Some games support native mouse input. Basic will work in these cases.
Move handler Null PlayStation Move support is not implemented, leave this on null.
Fake: Experimental! This maps Move controls to DS4 controller mappings.
Path handler mode Single-threaded Single-threaded: All pad handlers run on the same thread sequentially.
Multi-threaded: Each pad handler has its own thread.
Only use multi-threaded if you can spare the extra threads.
Camera input Unknown Depending on the game you may need to select a specific camera type.
Camera handler Null select QT to use the default camera device on your Operating System.
Camera Default Select the camera that you want to use during gameplay.
Camera Flip No Flips camera either Veritcally, horizontally, or both.
Buzz! emulated controller Null (use real Buzzers) Select 1 or 2 controllers if the game requires Buzz! controllers and you don't have real controllers.
Select Null if the game has support for DualShock or if you have real Buzz! controllers.
DJ Hero Emulated Turntable Null Emulates a DJ Hero Turntable. Not needed if you have a real turntable or the game supports DualShock controllers. You can use emulated turntables at the same time as real turntables.
Guitar Hero Live emulated guitar Null Emulates a Guitar Hero Live controller, Not needed if you have a real Guitar Hero Live controller or the game supports DualShock controllers. You can use emulated guitars at the same time as real guitars.

System configuration

Setting Default Option Description
Console language English (US) Some games may fail to boot if the system language is not available in the game itself. Other games will switch language automatically to what is selected here.
It is recommended leaving this on a language supported by the game.
Console region America The console region defines the license area of the PS3.
Depending on the license area, some games may not work.
Enter button assignment Enter with cross The button used for enter/accept/confirm in system dialogs. You can change this to use the circle button instead, which is the default configuration on Japanese systems and in many Japanese games.
In these cases, having the cross button assigned can often lead to confusion.
Clear disk cache automatically Off Automatically removes older files from disk cache on boot if it grows larger than the specified value. Games can use the cache folder to temporarily store data outside of system memory. It is not used for long-term storage.
Default wipe size is set to 5120MB.
Note that you can use keyboard arrow keys for precise changes on the slide bars.
Keyboard type English keyboard (US Standard) Sets the used keyboard layout. Currently only US, Japanese and German layouts are fully supported.
Console time Current time Sets the time to be used within the console. This will be applied as an offset that tracks wall clock time.
Can be reset to current wallclock time by clicking Set to Now.
Homebrew: Enable /host_root/ Off Required for some homebrew applications. If unsure, don't use this option.

Network configuration

Setting Default Option Description
Network status Disconnected If set to Connected, RPCS3 will allow programs to use our internet connection.
DNS 8.8.8.8 DNS used to resolve hostname by applications.
IP/Host switches DNS Swap List.
PSN Status Disconnected If set to Simulated, RPCS3 will fake PSN connection as best as it can. If set to RPCN, RPCS3 will use a Peer to Peer server connection to emulate online gameplay to the best of it's ability.

Advanced configuration

Setting Default Option Description
Debug console mode Off Increases the amount of usable system memory to match a DECR console and more.
Causes some software to behave differently than on retail hardware.
Accurate DFMA On Provides extra accuracy on FMA instructions at the cost of performance.
While disabling it might give a decent performance boost if your CPU doesn't support FMA, it may also introduce subtle bugs that otherwise do not occur.
You can't disable it if your CPU supports FMA.
Accurate RSX reservation access Off Forces RSX pauses on SPU MFC_GETLLAR and SPU MFC_PUTLLUC operations. Improves stability in some games but reduces performance.
PPU Non-Java mode Fixup On Legacy option, Fixup result vector values in Non-Java Mode in PPU LLVM. If unsure, do not modify this setting.
Accurate PPU Saturation Bit Off Accurately set Saturation Bit values in PPU backends. If unsure, do not modify this setting.
Accurate PPU Non-Java Mode' Off Respect Non-Java Mode bit values for vector ops in PPU backends. If unsure, do not modify this setting.
PPU Vector NaN Fixup Off Fixup NaN resultsin vector instructions in PPU Backends. If unsure, do not modify this setting.
Accurate PPU vector NaN handling Off Accurately set NaN results in vector instructions in PPU backends. If unsure, do not modify this setting.
Accurate PPU Float Condition Control Off Accurately set FPCC Bits in PPU backends. If unsure, do not modify this setting.
PPU LLVM precompilation On Searches the game's directory and precompiles extra PPU modules during boot.
If disabled, these modules will only be compiled when needed. Depending on the game, this might interrupt the gameplay unexpectedly and possibly frequently.
Only disable this if you want to get ingame more quickly.
Delay each odd MFC command Off Forces delaying any odd MFC command, waits for at least 2 pending commands to execute them in a random order.
Must be used with either SPU interpreters currently.
Severely degrades performance! If unsure, don't use this option.
Silence all logs Off Stop writing any logs after game startup. Don't use unless you believe it's necessary.
Sleep timers accuracy Usleep only Changes the sleep period accuracy.
As Host uses default accuracy of the underlying operating system, while All Timers attempts to improve it.
Usleep Only limits the adjustments to usleep syscall only.
Can affect perfomance in unexpected ways.
Maximum number of SPURS threads Unlimited Limits the maximum number of SPURS threads in each thread group. May improve performance in some cases, especially on systems with limited number of hardware threads.
Limiting the number of threads is also likely to cause crashes. It's recommended to keep this at default value.
Read depth buffers Off Initializes render target memory using vm memory.
Write depth buffers Off Writes depth buffer values to vm memory.
Read color buffers Off Initializes render target memory using vm memory.
Disable on-disk shader cache Off Disables the loading and saving of shaders from and to the shader cache in the data directory.
Disable native float16 support Off Disables hardware half-float support which is known to cause problems in some rare cases on some GPUs.
Allow host GPU labels (experimental) Off Allows the host GPU to synchronize with CELL directly. This incurs a performance penalty, but exposes the true state of GPU objects to the guest CPU. Can help eliminate visual noise and glitching at the cost of performance. Use with caution.
Vulkan queue scheduler Safe Determines how to schedule GPU async compute jobs when using asynchronous streaming.
Safe mode is spec compliant at the cost of some CPU overhead. This works with all devices.
Fast mode is faster but violates the Vulkan specification and is hacky. It is disabled on NVIDIA GPUs as it is known to cause GPU hangs.
Driver wake-up delay 1 µs Try fiddling with this setting when encountering unstable games. The higher value, the better stability it may provide. 200μs and 400μs are good for most games.
Increments/Decrements for each test should be around 100μs to 200μs until finding the best value for optimal stability.
Values above 1000μs may cause noticeable performance penalties, use with caution.
Only available on per-game configurations.
VBlank frequency 60 Hz Adjusts the frequency of vertical blanking signals that the emulator sends.
Affects timing of events which rely on these signals.
Only available on per-game configurations.
Clocks scale 100% Changes the scale of emulated system time.
Affects software which uses system time to calculate things such as dynamic timesteps.
Only available on per-game configurations.

Debug configuration

Below configurations are primarily used by developers. If unsure, don't use these options.

Setting Default Option Description
RenderDoc compatibility mode Off Enables use of classic OpenGL buffers which allows capturing tools to work with RPCS3 e.g RenderDoc.
Also allows Vulkan to use debug markers for nicer Renderdoc captures.
If unsure, don't use this option.
Debug output Off Enables the selected API's inbuilt debugging functionality. Will cause severe performance degradation especially with Vulkan.
Debug overlay Off Provides a graphical overlay of various debugging information.
If unsure, don't use this option.
Log shader programs Off Dump game shaders to file. Only useful to developers.
If unsure, don't use this option.
Use high precision Z-buffer Off Only useful when debugging differences in GPU hardware.
Not necessary for average users.
If unsure, don't use this option.
Disable ZCull occlusion queries Off Disables running occlusion queries. Minor to moderate performance boost.
Might introduce issues with broken occlusion e.g missing geometry and extreme pop-in.
Force CPU blit emulation Off Forces emulation of all blit and image manipulation operations on the CPU.
Requires 'Write Color Buffers' option to also be enabled in most cases to avoid missing graphics.
Significantly degrades performance but is more accurate in some cases. This setting overrides the 'GPU texture scaling' option.
Disable Vulkan memory allocator Off Disables the custom Vulkan memory allocator and reverts to direct calls to VkAllocateMemory/VkFreeMemory.
Disable FIFO reordering Off Disables RSX FIFO optimizations completely. Draws are processed as they are received by the DMA puller.
Strict texture flushing Off Forces texture flushing even in situations where it is not necessary/correct.
Known to cause visual artifacts, but useful for debugging certain texture cache issues.
Use GPU texture scaling Off Force all texture transfer, scaling and conversion operations on the GPU.
May cause texture corruption in some cases.
PPU debug Off Creates PPU logs.
Only useful for developers.
Never use this.
SPU debug Off Creates SPU logs.
Only useful for developers.
Never use this.
MFC debug Off Creates MFC logs.
Only useful for developers.
Never use this.
Set DAZ and FTZ Off Sets special MXCSR flags to debug errors in SSE operations.
Only used in PPU thread when it's not precise.
Only useful to developers.
Never use this.
Accurate GETLLAR Off Accurately processes SPU MFC_GETLLAR operation.
Accurate SPU DMA Off Accurately processes SPU DMA operations.
Accurate cache line stories Off Accurately processes PPU DCBZ instruction.
In addition, when combined with Accurate SPU DMA, SPU PUT cache line accesses will be processed atomically.
Hook static functions Off Allows to hook some functions like 'memcpy' replacing them with high-level implementations.
May do nothing or break things. Experimental.
Enable performance report Off Measure certain events and print a chart after the emulator is stopped. Don't enable if not asked to.
Accurate PPU 128 reservations Disabled When enabled, PPU atomic operations will operate on entire cache line data, as opposed to a single 64bit block of memory when disabled.
Numerical values control whether or not to enable the accurate version based on the atomic operation's length.
PPU thread count 2 Affects maximum amount of PPU threads running concurrently, the value of 1 has very low compatibility with games.
2 is the default, if unsure do not modify this setting.