(Requires cleanup, Updated information to reflect new settings, encourage changing zcull, etc. Feel free to change anything inaccurate or unnecessarily changed. My kid wanted to help too. If I missed any keyboard smacks.) |
|||
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 ( | |'''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 ( | |'''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. | ||
|- | |- | ||
|- | |- | ||
|'''Accurate xfloat'''||Off||Fixes bugs in various games at the cost of performance. This setting is only applied when SPU LLVM is | |'''Accurate xfloat'''||Off||Adds extra accuracy. Fixes bugs in various games at the cost of performance. This setting is only applied when SPU Decoder is set to Dynamic or LLVM. | ||
|- | |||
|- | |||
|'''Approximate xfloat'''||On||Default Accuracy. Fixes bugs in various games at the cost of performance. This setting is only applied when SPU Decoder is set to Dynamic or LLVM. | |||
|- | |||
|'''Relaxed xfloat'''||Off||Least Accurate option. Enabled by disabling both Approximate and Accurate xfloat options. Still uses Approximate FCGT and FNMS instructions and May provide a performance boost in some SPU heavy games. | |||
|- | |- | ||
|'''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. | ||
Line 23: | Line 28: | ||
|- | |- | ||
|'''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||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 42: | ||
|'''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 | |'''Aspect ratio'''||16:9||Leave this on 16:9 unless you have a 4:3 monitor. | ||
|- | |- | ||
|'''Framelimit'''|| | |'''Framelimit'''||Auto||Most games have a built in frame limit. By using RPCS's Framelimiter simulatanously with the game 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'''|| | |'''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 | |'''ZCULL accuracy'''||Precise (slowest)||Changes ZCULL report synchronization behavior<br>'''Precise''' is the most accurate to PS3 behaviour.<br> Experiment to find the best option for your game. <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 visual quality 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 | |'''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 78: | Line 88: | ||
! Description | ! Description | ||
|- | |- | ||
|'''Audio output | |'''Audio output'''|cubeb|cubeb is the recommended option and should be used whenever possible. <br>Xaudio (Windows) is the next best alternative. <br>PulseAudio (Linux) is the next best alternative. | ||
|- | |- | ||
|''' | |'''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. | ||
|- | |- | ||
|'''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. | ||
|- | |- | ||
|'''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. | ||
|- | |- | ||
|'''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 | |'''Enable buffering'''||On||Enables audio buffering, which reduces crackle and stutter but increases audio latency (requires CXAudio2 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. <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 119: | ||
|'''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. | ||
|- | |- | ||
|''' | |'''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 | |'''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'''||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.<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 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 game supports dualshock controllers. You can use emulated guitars at the same time as real guitars. | |||
|} | |} | ||
Line 153: | Line 169: | ||
|'''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 168: | Line 184: | ||
|'''Accurate RSX reservation access'''||Off||Forces RSX pauses on SPU MFC_GETLLAR and SPU MFC_PUTLLUC operations. | |'''Accurate RSX reservation access'''||Off||Forces RSX pauses on SPU MFC_GETLLAR and SPU MFC_PUTLLUC operations. | ||
|- | |- | ||
|'''PPU LLVM | |'''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. | |||
|- | |- | ||
|'''PPU | |'''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 194: | Line 218: | ||
|'''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. | |'''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. | ||
|- | |- | ||
|'''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. |
Revision as of 00:17, 2 February 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 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 (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. |
Accurate xfloat | Off | Adds extra accuracy. Fixes bugs in various games at the cost of performance. This setting is only applied when SPU Decoder is set to Dynamic or LLVM. |
Approximate xfloat | On | Default Accuracy. Fixes bugs in various games at the cost of performance. This setting is only applied when SPU Decoder is set to Dynamic or LLVM. |
Relaxed xfloat | Off | Least Accurate option. Enabled by disabling both Approximate and Accurate xfloat options. Still uses Approximate FCGT and FNMS instructions and May provide a performance boost in some SPU heavy games. |
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. |
Thread Scheduler | Operating 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 RPCS's Framelimiter simulatanously with the game 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 Precise is the most accurate to PS3 behaviour. Experiment to find the best option for your game. '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 visual quality 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. |
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 |
---|---|---|
cubeb|cubeb is the recommended option and should be used whenever possible. Xaudio (Windows) is the next best alternative. PulseAudio (Linux) is the next best alternative. | ||
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. |
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. |
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 CXAudio2 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. |
Move handler | Null | PlayStation Move support is not implemented, leave this on null. Fake: Experimental! This maps Move controls to DS4 controller mappings. |
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 | 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 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 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. 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 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 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. |
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. 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. |