HerrHulaHoop (talk | contribs) (Improved write-up for preferred SPU threads) |
(→GPU configuration: Add Anti-aliasing default setting and description and fix minor typos.) |
||
Line 46: | Line 46: | ||
|'''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'''||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. | ||
|- | |- | ||
|'''Anti-aliasing'''|| | |'''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. | ||
|- | |- | ||
|'''Default resolution'''||1280x720||In most | |'''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. 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. | ||
|- | |- | ||
|'''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. | ||
Line 54: | Line 54: | ||
|'''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. | ||
|- | |- | ||
|'''Write color | |'''Write color buffers'''||Off||Enable this option if you get missing graphics or broken lighting ingame. <br>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. <br>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. | |'''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. <br>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. | ||
Line 64: | Line 64: | ||
|'''Disable vertex cache'''||Off||Disables the vertex cache. Might resolve missing or flickering graphics output. May degrade performance. | |'''Disable vertex cache'''||Off||Disables the vertex cache. Might resolve missing or flickering graphics output. May degrade performance. | ||
|- | |- | ||
|'''Disable Async shader compiler'''||Off||Disables asynchronous shader compilation. Fixes missing graphics while shaders are compiling but introduces stuttering. <br>Disable if you do not want to deal with graphics pop-in, or for testing before filing any bug reports. | |'''Disable Async shader compiler'''||Off||Disables asynchronous shader compilation. Fixes missing graphics while shaders are compiling, but introduces stuttering. <br>Disable if you do not want to deal with graphics pop-in, or for testing before filing any bug reports. | ||
|} | |} | ||
Revision as of 20:12, 24 June 2019
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 | ASMJIT 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. |
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. |
Firmware settings | Load liblv2.sprx only | Load liblv2.sprx only: Closely emulates how games can load and unload system module files on a real PlayStation 3. Automatically load required libraries: Automatically selects the LLE libraries to load. While this option works fine in most cases, liblv2 is the preferred option. Manually load selected libraries: Allows the user to manually choose the LLE libraries to load. If unsure, don't use this option. Nothing will work if you use this incorrectly. Load automatic and manual selection: Automatically selects the LLE libraries to load and allows the user to choose additional libraries manually. If unsure, don't use this option. |
Enable thread scheduler | On | Allows the emulator to manually schedule physical cores to run specific tasks on, instead of letting the OS handle it. Very useful for AMD Ryzen systems on Windows, where it can give huge performance gains. Not recommended for Linux as the OS schedules the physical cores better on its own. No effect on Intel CPUs. |
Lower SPU thread priority | Off | Runs SPU threads with lower priority than PPU threads. Usually faster on an i3 or i5, possibly slower or no difference on an i7 or Ryzen. |
Enable SPU loop detection | On | 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 cache | On | Should normally stay enabled. Disable this if the cache becomes too large. Disabling it does not remove the existing cache. |
Accurate xfloat | Off | Fixes bugs in various games at the cost of performance. This setting is only applied when SPU LLVM is active. |
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. |
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. |
GPU configuration
Setting | Default Option | Description |
---|---|---|
Renderer | OpenGL | 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. DirectX 12 is deprecated and should never be used. |
Graphics device | NA | On multi GPU systems select which GPU to use in RPCS3 when using Vulkan or DirectX 12. 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. |
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. |
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. |
Disable vertex cache | Off | Disables the vertex cache. Might resolve missing or flickering graphics output. May degrade performance. |
Disable Async shader compiler | Off | Disables asynchronous shader compilation. Fixes missing graphics while shaders are compiling, but introduces stuttering. Disable if you do not want to deal with graphics pop-in, or for testing before filing any bug reports. |
Audio configuration
Setting | Default Option | Description |
---|---|---|
Audio output | Windows: XAudio2 Linux: OpenAL |
Windows: XAudio2 is the recommended option and should be used whenever possible. OpenAL uses a cross-platform approach and is the next best alternative. Linux: 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. |
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. |
System configuration
Setting | Default Option | Description |
---|---|---|
Console language | Japanese | 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. |
Homebrew: Enable /host_root/ | Off | Required for some Homebrew. If unsure, don't use this option. |
Console region | NA | Doesn't exist (yet). |
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. |
Disk cache | 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. |
Network configuration
Setting | Default Option | Description |
---|---|---|
Network status | Disconnected | Leave as disconnected unless you're debugging. RPCS3 has no online support. |
Debug configuration
Below configurations are primarily used by developers. If unsure, don't use these options.
Setting | Default Option | Description |
---|---|---|
Use legacy OpenGL buffers | Off | Enables use of classic OpenGL buffers which allows capturing tools to work with RPCS3 e.g RenderDoc. |
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. |
Log shader programs | Off | Dump game shaders to file. |
Use high precision Z-buffer | Off | Only useful when debugging differences in GPU hardware. |
Write depth buffers | Off | Never use this. |
Read depth buffers | Off | Never use this. |
Read color buffers | Off | Never use this. |
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 on-disk shader cache | Off | Disables the loading and saving of shaders from and to the shader cache in the data directory. |
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 | Never use this. |
SPU debug | Off | Never use this. |
SPU verification | On | Never disable this. |
Set DAZ and FTZ | Off | Never use this. |
Accurate GETLLAR | Off | Never use this. |
Accurate PUTLLUC | Off | Never use this. |
Hook static functions | Off | Allows to hook some functions like 'memcpy' replacing them with high-level implementations. May do nothing or break things. Experimental. |
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. |
Legacy configuration
Below are the configurations used for previous versions of the emulator. Refer to the linked pull request for a detailed description on why this setting was removed.
Setting | Default Option | Category | Removed By | Description |
---|---|---|---|---|
Bind SPU threads to secondary cores | Off | CPU | PR 4079 | If your CPU has SMT (Hyper-Threading) SPU threads will run on these logical cores instead. Usually faster on an i3, possibly slower or no difference on an i7 or Ryzen. |
Invalidate cache every frame | Off | GPU | PR 3618 | Enable this option if the game has broken shadows. May slightly degrade performance. |