(Vastly updated default settings. Only Thread Scheduler in GPU tab and Firmware libraries in Advanced tab are left.) |
m (→CPU configuration: Add Full width AVX-512 option.) |
||
Line 15: | Line 15: | ||
|- | |- | ||
|'''Accurate xfloat'''||Off||Fixes bugs in various games at the cost of performance. This setting is only applied when SPU LLVM is active. | |'''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. | |||
|- | |- | ||
|'''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. |
Revision as of 09:17, 12 October 2021
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.
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 (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. 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. |
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. Interpreter (fast): Slower than the SPU ASMJIT Recompiler but significantly faster than Interpreter (precise). Games rarely need this option. Interpreter (precise): Extremely slow but may fix broken graphics in some games. |
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. |
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. 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. |
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. |
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. Auto also works well, especially if you use a resolution that is not 720p. |
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. 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. |
Anisotropic filter | Automatic | Higher values increase sharpness of textures on sloped surfaces at the cost of GPU resources. 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. In such cases, set it to Automatic to allow games to use their own inbuilt filtering methods. 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. |
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 | Changes ZCULL report synchronization behaviour. Use with caution. Precise is the most accurate to PS3 behaviour. Approximate is just 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 in some games or completely break others. |
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 in any way. |
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. |
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. |
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 (Windows) | XAudio2 | XAudio2 is the recommended option and should be used whenever possible. OpenAL uses a cross-platform approach and 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. PulseAudio uses the native Linux sound system, and is the next best alternative. If neither are available, ALSA can be used instead. |
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. |
Downmix to stereo | On | Uses stereo audio output instead of default 7.1 surround sound. Use with stereo audio devices. Disable it only if you are using a surround sound audio system. |
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 XAudio2 or OpenAL). |
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. |
Camera input | Unknown | Camera support is not implemented, leave this on unknown. |
Camera settings | Null | Camera support is not implemented, leave this on null. |
Move handler | Null | PlayStation Move support is not implemented, leave this on null. Fake: Experimental! This maps Move controls to DS4 controller mappings. |
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. |
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. 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. |
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 LLVM 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. |
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) |
PPU LLVM Java mode handling | On | Respect current Java Mode for alti-vec ops by PPU LLVM. 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. |
Vulkan queue scheduler | Device | Determines how to schedule GPU async compute jobs when using asynchronous streaming. Use Host mode for more spec compliant behavior at the cost of CPU overhead. Use Device to let your driver handle this. Beware that Device mode technically violates official spec but is the superior option. |
Driver wake-up delay | 1 µs | Try fiddling with this setting when encountering unstable games. The higher value, the better stability it may provide. 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.\nOnly 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.\nIn 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. |