GSdx: Difference between revisions

Jump to navigation Jump to search
802 bytes added ,  14 January 2020
no edit summary
No edit summary
No edit summary
Line 15: Line 15:


==Quick guide to the settings==
==Quick guide to the settings==
'''''(Outdated, needs updating)'''''<br />
 
Familiarize yourself with the following terms used by GSdx:
Familiarize yourself with the following terms used by GSdx:
===Hardware Mode Options===
* '''Resolution''' is the default resolution. It affects both windows and full screen modes. Higher resolution have minimal performance impact because the picture is actually resized to this resolution from the '''internal resolution'''.
* '''Renderer''' -- A choice between, DirectX 11 and OpenGL. There are two subtypes for each API:
* '''Renderer''' -- A choice between, DirectX 11 and OpenGL. There are two subtypes for each API:
** '''Hardware renderer''' -- uses your graphics card to render the picture. This is the fastest and preferred mode.
** '''Hardware renderer''' -- Uses your graphics card to render the picture. This is the fastest and preferred mode.
** '''Software renderer''' -- uses your CPU to render the picture. There will be ONLY native internal resolution available (thus original PS2 visuals). In some cases this mode may produce the best images with the least amount of graphical artifacts. Unfortunately GSdx requires quite a bit of CPU power to render with the software renderer even in internal resolution (without anti-aliasing or anything else applied) so you may end up with a correctly rendered game but which only runs at an unplayable 3-10 fps. Note also that PCSX2 is very CPU hungry but currently supports only 2 cores (the third core may also help a wee when used by different system processes leaving first two exclusively to PCSX2) thus if you have a 3+ core CPU you may consider using them for GSdx working in this mode increasing the render speed dramatically with every additional core (see '''SW renderer threads'''). You can also switch between hardware renderer and software renderer during runtime, see [[GSdx#List_of_ingame_keys|'''List of ingame keys'''-'''F9''']].
** '''Software renderer''' -- Uses your CPU to render the picture. There will be ONLY native internal resolution available (thus original PS2 visuals). In some cases this mode may produce the best images with the least amount of graphical artifacts. Unfortunately GSdx requires quite a bit of CPU power to render with the software renderer even in internal resolution (without anti-aliasing or anything else applied) so you may end up with a correctly rendered game but which only runs at an unplayable 3-10 fps. Note also that PCSX2 is very CPU hungry but currently supports only 2 cores (the third core may also help a wee when used by different system processes leaving first two exclusively to PCSX2) thus if you have a 3+ core CPU you may consider using them for GSdx working in this mode increasing the render speed dramatically with every additional core (see '''SW renderer threads'''). You can also switch between hardware renderer and software renderer during runtime, see [[GSdx#List_of_ingame_keys|'''List of ingame keys'''-'''F9''']].
* '''Adapter''' -- Specifies which of the available adapters to use when using Direct3D API.
* '''Interlacing (F5)''' -- Is used to choose the default deinterlacing mode when starting the emulation process. For more detailed explanation see [[GSdx#List_of_ingame_keys|'''List of ingame keys'''-'''F5''']].
* '''Texture Filtering''' -- Default option: PS2. The nearest option will look blocky but is the fastest. The PS2 option  will make GSdx only apply filtering to textures when the game's code calls for it, just like the PS2. The forced option will filter ALL textures (reducing shimmering) but may also cause texture glitches.


* '''Interlacing''' -- is used to choose the default deinterlacing mode when starting the emulation process. For more detailed explanation see [[GSdx#List_of_ingame_keys|'''List of ingame keys'''-'''F5''']].
===Hardware Mode Options===
* '''Aspect ratio''' -- is used to choose the default aspect ratio mode when starting the emulation process. For more detailed explanation see [[GSdx#List_of_ingame_keys|'''List of ingame keys'''-'''F6''']].
* '''Internal Resolution''' -- is used to set the render resolution target. The higher resolution you choose here the bigger picture will be rendered before being resized into your screen resolution thus you'll see more clear and crisp visuals. Unfortunately all those game you'll be playing were created and tested for lower native resolution (~500 x ~450) so some picture parts or objects may look wrong (displaced/framed/no image/invalid colors, etc.) when rendered in higher resolution. These artifacts you may eliminate only by using '''native resolution'''. Increasing internal resolution will impact the rendering speed so the higher resolution you set the more powerful graphics card you'll need to have.
** '''Native''' resolution. This is a more compatible mode because it uses the original PS2 display resolution. It should be used first before you attempt to upscale your resolution.
* '''Enable Shade Boost''' -- is used to manually adjust Saturation/Brightness/Contrast levels.
* '''Enable FXAA''' -- check this to enable [http://en.wikipedia.org/wiki/Fast_approximate_anti-aliasing Fast approximate anti-aliasing]. This method of anti-aliasing does not require as much compute power as MSAA, however textures may not appear as sharp compared to MSAA.
* '''Enable FX Shader''' -- check this to enable custom shaders. In order to use a custom shader, the shader file must be named "shader.fx" and placed in the same directory as the main executable ("pcsx2.exe"). A list of custom shaders can be found [http://forums.pcsx2.net/Thread-Custom-Shaders-for-GSdx here].
 
* '''Texture Filtering''' -- Default option: PS2. The nearest option will look blocky but is the fastest. The PS2 option  will make GSdx only apply filtering to textures when the game's code calls for it, just like the PS2. The forced option will filter ALL textures (reducing shimmering) but may also cause texture glitches.
 
* '''8-bit textures''' -- Typically GSdx converts 8-bit textures to 32 bit textures internally, which bloats the texture memory usage when they're uploaded to your video card memory. But it's faster for the video card to render from 32 bit textures, because 8-bit textures require an inline shader decoder. So if a game uses a lot of 8-bit textures, it can flood video memory and run very slow; such games will run much faster with allowed 8-bit textures because extra shader work is less invasive than running out of video memory. But if a game only uses a few 8-bit textures and you allow 8-bit textures for use, it can slow things down because of extra shader work. There are two options:
** '''Unchecked:''' -- Processes 8-bit textures (256 color mode) as 32-bit textures. This is the default method GSdx uses and is easier for the video card to render, but takes up more VRAM. Good for games with few 8 bit textures.
** '''Checked:''' -- Allows 8 bit textures to be processed natively, using less VRAM, but adding more work for the inline shader. Good for games that use very many 8-bit textures, to prevent running out of Video Memory.
 
The benefits of this option are very hardware and game dependent and can vary from scene to scene, that's why it's an option and is disabled by default. The best way to test the benefit of using this option on your hardware is to have a savestate prepared, disable the framelimiter and benchmark the game with Allow 8-bit Textures enabled and disabled.
 
It seems mainly 2D games that are helped by this option, and it would be safe to assume that games with lots of heavy 2D overlays would reap some benefit too.
 
List of games known to benefit from enabling 8-bit textures (incomplete):
Guilty Gear X2, Fight Night Round 3, Grand Theft Auto: Vice City Stories, Xenosaga 2 and Odin Sphere.
 
Source: [http://forums.pcsx2.net/Thread-What-does-allowing-disabling-8-bit-textures-do PCSX2 forum]


* '''Allow 8-Bit Textures''' -- When checked 4/8 bits texture will be send to the GPU with a palette. GPU will be in charge of the conversion. When unchecked the CPU will convert directly the texture to 32 bits.It is basically a trade-off between GPU/CPU.
* '''Large Framebuffer''' -- Allocate a large framebuffer to be compliant with GS memory (Prevents FMV flickering when upscaling). It increases GPU/memory requirements. It should be disabled for Armored Core, Destroy All Humans, and Gran Turismo as it will amplify VRAM usage by a lot.
* '''Internal Resolution''' -- Is used to set the render resolution target. The higher resolution you choose here the bigger picture will be rendered before being resized into your screen resolution thus you'll see more clear and crisp visuals. Unfortunately all those game you'll be playing were created and tested for lower native resolution (~500 x ~450) so some picture parts or objects may look wrong (displaced/framed/no image/invalid colors, etc.) when rendered in higher resolution. These artifacts you may eliminate only by using '''native resolution'''. Increasing internal resolution will impact the rendering speed so the higher resolution you set the more powerful graphics card you'll need to have.
* '''Custom Resolution''' -- Not recommended. It is used to set custom resolution for the rendering target, will cause issues and many features do not work properly with it. It is better to use the resolution multipliers instead.
* '''Anisotropic Filtering''' -- Reduces texture aliasing at extreme viewing angles. Automatic option is recommended.
* '''Mipmapping (Ins)''' -- Control the accuracy level of the mipmapping emulation. Automatic option is recommended.
* '''CRC Hack Level''' -- Control the number of Auto-CRC fixes and hacks applied to games.
* '''DATE Accuracy''' -- Implement a more accurate algorithm to compute GS destination alpha testing. It improves shadow and transparency rendering.
* '''Blending Accuracy''' -- Control the accuracy level of the GS blending unit emulation.
* '''Enable HW Hacks''' -- Enables the use of HW Hacks which can be toggled in Advanced Settings and Hacks.


===Software Mode Options===
===Software Mode Options===
* '''SW renderer threads''' -- chooses the number of threads (pipes) to render the picture in software mode. Every additional thread here means one additional CPU core will be used in the rendering process. You're still going to need at least one core left for the PCSX2 itself so if you, for instance, have 4 cores (quad core CPU) you may want to set this field to 3.
* '''Edge anti-aliasing (AA1)''' -- A feature of the actual GS on the PS2. It can only be used in software renderer modes. This can improve the resulting visuals (provided that the game supports it and is calling for it to be applied on the current scene) by applying an anti-aliasing algorithm. It will cause a very minor performance drop. This feature is required to emulate some games.


* '''Auto Flush''' -- Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA.
* '''Mipmapping''' -- Enables mipmapping, which some games require to render correctly.
* '''Edge anti-aliasing (Del)''' -- A feature of the actual GS on the PS2. It can only be used in software renderer modes. This can improve the resulting visuals (provided that the game supports it and is calling for it to be applied on the current scene) by applying an anti-aliasing algorithm. It will cause a very minor performance drop. This feature is required to emulate some games.
* '''Rendering threads''' -- chooses the number of threads (pipes) to render the picture in software mode. Every additional thread here means one additional CPU core will be used in the rendering process. You're still going to need at least one core left for the PCSX2 itself so if you, for instance, have 4 cores (quad core CPU) you may want to set this field to 3.


===Hardware hacks===
===Hardware hacks===
These settings require that you are using the hardware renderer and have '''Enable HW hacks''' checked.
These settings require that you are using the hardware renderer and have '''Enable HW hacks''' checked.
* '''MSAA''' -- is used to specify [http://en.wikipedia.org/wiki/Multisample_anti-aliasing multisample anti-aliasing] mode for hardware renderers. This may dramatically improve the quality of visuals but requires some additional processing power from your video card. You can set this to '''2''','''4''','''8''' or '''16'''. The plugin will automatically choose and use only the supported mode.
* '''Rendering Hacks'''
* '''Skipdraw''' -- Skips drawing ''n'' surfaces completely. Use it to get rid of bad post-processing effects.
** '''Alpha Stencil''' -- Improves shadows/transparency rendering in games such as Amagami. It will break transparency rendering in many games, avoid using it. DATE Accuracy does the same job accurately.
* '''Alpha''' -- Can fix shadow issues.
** '''Auto Flush''' -- Force a primitive flush when a framebuffer is also an input texture. Fixes some processing effects such as the shadows in the Jak series and radiosity in GTA:SA. It's very costly on the performance.
* '''Half-pixel Offset''' -- Can fix misaligned fog, bloom, or blend effects.
** '''Disable Depth Emulation''' -- Disable the support of Depth buffer in the texture cache. It can help to increase speed but it will likely create various glitches.
* '''Sprite''' -- Gets rid of black inner lines in sprites. Half option is recommended.
** '''Disable Safe Features''' -- This option disables multiple safe features. Disables accurate Unscale Point and Line rendering (it can help Xenosaga games), disables accurate GS Memory Clearing to be done on the CPU, and let only the GPU handle it (it can help Kingdom Hearts games), disables special Nvidia hack (it can help SOTC, Fatal Frame games and possibly others too).
* '''WildArmsOffset''' -- Lowers GS precision to avoid gaps in pixels when upscaling.
** '''Fast Texture Invalidation''' -- By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise. This hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load. It helps snowblind engine games.
* '''Aggressive-CRC''' -- Can remove effects to make image clearer.
** '''Frame Buffer Conversion''' -- Convert 4-bit and 8-bit frame buffer on the CPU instead of the GPU. The hack can fix glitches in some games (Harry Potter games and Stuntman for example). This hack has an impact on performance.
* '''Alpha Stencil''' -- Improves shadows which are normally overdrawn in parts. This setting will disable partial transparency or prevent drawing some elements altogether.
** '''Memory Wrapping''' -- Emulates GS memory wrapping accurately. This fixes issues where part of the image is cut-off by block shaped sections such as the FMVs in Wallace & Gromit: The Curse of the Were-Rabbit and Thrillville. This hack can have a small impact on performance.
* '''Disable CRC''' -- For testing only! Disable all CRC hacks and will not work in many games.
** '''Preload Frame Data''' -- Uploads GS data when rendering a new frame to reproduce some effects accurately. Fixes black screen issues in games like Armored Core: Last Raven.
* '''TC Offset X/Y''' -- Can fix texture issues and bad post-processing alignment.
** '''Trilinear Filtering''' -- Control the texture tri-filtering of the emulation.
* '''Round Sprite''' -- Corrects the Sampling of 2D games when upscaling
** '''Skipdraw Range''' -- Completely skips drawing surfaces from the surface in the left box up to the surface specified in the box on the right. Use it, for example, to try and get rid of bad post processing effects.
* '''Align Sprite''' -- Fixes issue with upscaling (vertical lines) in Namco games
* '''Upscaling Hacks'''
** '''Align Sprite''' -- Fixes issues with upscaling(vertical lines) in Namco games like Ace Combat, Tekken, Soul Calibur, etc.
** '''Merge Sprite''' -- Replaces post-processing multiple paving sprites by a single fat sprite. It reduces various upscaling lines.
** '''Wild Arms Offset''' -- Lowers the GS precision to avoid gaps between pixels when upscaling. Fixes the text on Wild Arms games.
** '''Half-pixel Offset''' -- Might fix some misaligned fog, bloom, or blend effect. The preferred option is Normal (Vertex) as it is most likely to resolve misalignment issues.
** '''Round Sprite''' -- Corrects the sampling of 2D sprite textures when upscaling. Fixes lines in sprites of games like Ar tonelico when upscaling. Half option is for flat sprites, Full is for all sprites.
** '''Texture Offsets X, Y''' -- Offset for the ST/UV texture coordinates. Fixes some odd texture issues and might fix some post processing alignment too.
* '''OpenGL Advanced Settings'''
** '''Geometry Shader''' -- Allows the GPU instead of just the CPU to transform lines into sprites. This reduces CPU load and bandwidth requirement, but it is heavier on the GPU. Automatic detection is recommended. Allows advanced atomic operations to speed up Accurate Date. Only disable this if using Accurate Date causes (GPU driver) issues.
** '''Image Load Store'''
** '''Sparse Texture''' -- Allows to reduce VRAM usage on the GPU. Feature is currently experimental and works only on Nvidia GPUs.


===OSD Configuration===
===OSD Configuration===
Line 77: Line 80:


* '''Texture Filtering of Display''' -- Use bilinear filtering when Upscaling/Downscaling the image to the screen. Disable it if you want a sharper/pixelated output.
* '''Texture Filtering of Display''' -- Use bilinear filtering when Upscaling/Downscaling the image to the screen. Disable it if you want a sharper/pixelated output.
* '''FXAA Shader (PgUp)''' -- Enables fast approximate anti-aliasing. Small performance impact.
* '''FXAA Shader (PgUp)''' -- Enables [https://en.wikipedia.org/wiki/Fast_approximate_anti-aliasing fast approximate anti-aliasing]. Small performance impact.
* '''Shade Boost''' -- Allows brightness, contrast and saturation to be manually adjusted.
* '''Shade Boost''' -- Allows brightness, contrast and saturation to be manually adjusted.
* '''External Shader (Home)''' -- Enables external shader for additional post-processing effects.
* '''External Shader (Home)''' -- Enables external shader for additional post-processing effects. External shaders can be found/downloaded from [https://forums.pcsx2.net/Thread-Custom-Shaders-for-GSdx here].
* '''TV Shader (F7)'''
* '''TV Shader (F7)'''


===Hidden GSdx settings in GSdx.ini===
===Hidden GSdx settings in GSdx.ini===


* '''pixoff_x=0, pixoff_y=0'''
There are some hidden ini options that can be also toggled, however the average user wouldn't need to touch these.
Use these two settings (one for either axis) to lessen the ghosting and maybe the overbloom effect significantly.
You will have to experiment the values as they seem to be game ''and'' resolution dependent.
<code>
:pixoff_x=x
:pixoff_y=y
</code>
 
possible settings:
 
0 = off<br>
-n = shifting left(x) or down(y) depending on the axis<br>
n = shifting right(x) or up(y) depending on axis<br>


==List of ingame keys==
==List of ingame hotkeys==


The information on hotkeys usable by GSdx is scarce and hard to find. All shortcuts listed here are accessible when the emulated game is running.
The information on hotkeys usable by GSdx is scarce and hard to find. All shortcuts listed here are accessible when the emulated game is running.
Line 123: Line 114:
**Note that if you simply wish to capture audio (e.g. you like a particular level's music) and you don't want to mess with the plugin or emulator - or you simply prefer a more general solution - you can use [http://audacity.sourceforge.net/ Audacity] to record while the emulator is running - simply configure it to accept audio input from "stereo mix". By the way, if you are running Windows and do not see "stereo mix" in the list of available sources please google for several available solutions (it is a known issue with certain soundcard/motherboard models). Or you could try [http://www.abyssmedia.com/isound7/ this] instead.
**Note that if you simply wish to capture audio (e.g. you like a particular level's music) and you don't want to mess with the plugin or emulator - or you simply prefer a more general solution - you can use [http://audacity.sourceforge.net/ Audacity] to record while the emulator is running - simply configure it to accept audio input from "stereo mix". By the way, if you are running Windows and do not see "stereo mix" in the list of available sources please google for several available solutions (it is a known issue with certain soundcard/motherboard models). Or you could try [http://www.abyssmedia.com/isound7/ this] instead.


* '''INSERT''' -- toggles mipmapping
* '''Insert''' -- Toggles HW mipmapping.


* '''HOME''' -- toggles FX shader on/off
* '''Home''' -- Toggles FX shader on/off.


* '''Page Up''' -- toggles FXAA on/off  
* '''Page Up''' -- Toggles FXAA on/off .


* '''DEL''' -- toggles Software Edge Anti-Aliasing (AA1) on/off
* '''Del''' -- Toggles Software Edge Anti-Aliasing (AA1) on/off
[[Category:Guides]]
[[Category:Guides]]
[[Category:Plugins]]
[[Category:Plugins]]
{{General articles}}
{{General articles}}

Navigation menu