GSdx: Difference between revisions

Jump to navigation Jump to search
302 bytes added ,  21 July 2014
Added more bold and more links
(Added more info about hardware hacks)
(Added more bold and more links)
Line 9: Line 9:


In most cases you'll have several dlls for each GSdx version. '''SSE2''', '''SSSE3''', '''SSE4''' and '''AVX'''. Which one to choose depends on your CPU installed.
In most cases you'll have several dlls for each GSdx version. '''SSE2''', '''SSSE3''', '''SSE4''' and '''AVX'''. Which one to choose depends on your CPU installed.
* SSE2 -- is Intel 2001 CPU extension features many additional instructions for 64-bit and floating point operations. AMD adopted these instructions from Athlon 64 CPUs in 2003. Your CPU will surely support SSE2 and thus this dll will be your safe choice.
* '''SSE2''' -- is Intel 2001 CPU extension features many additional instructions for 64-bit and floating point operations. AMD adopted these instructions from Athlon 64 CPUs in 2003. Your CPU will surely support SSE2 and thus this dll will be your safe choice.
* SSSE3 -- is Intel 2006 revision to '''SSE3''' CPU extension supported Intel Core 2 processors and higher as well as AMD Bobcat processors and higher. '''Warning''': If you will try to use SSSE3 optimized dll on Pentium 4 CPU you will encounter a crash whenever the code reaches SSSE3 optimized part (it may not happen for some time but it will occur eventually).
* '''SSSE3''' -- is Intel 2006 revision to '''SSE3''' CPU extension supported Intel Core 2 processors and higher as well as AMD Bobcat processors and higher. '''Warning''': If you will try to use SSSE3 optimized dll on Pentium 4 CPU you will encounter a crash whenever the code reaches SSSE3 optimized part (it may not happen for some time but it will occur eventually).
* SSE4 -- is Intel 2006 CPU extension consists of two subsets 4.1 and 4.2. GSDX only uses 4.1 set so you'll need Intel CPU with codename [http://en.wikipedia.org/wiki/Core_2#Penryn Penryn] or newer (E7xxx and higher for Code 2 Duos and Q9xxx and higher for quads). As of now AMD only partly supports SSE4 (calling it SSE4a) which sadly will not be enough for GSDX. '''Warning''': If you will try to use SSE4 optimized dll on unsupported CPU you will encounter a crash whenever the code reaches SSE4 optimized part (it may not happen for some time but it will occur eventually).
* '''SSE4''' -- is Intel 2006 CPU extension consists of two subsets 4.1 and 4.2. GSDX only uses 4.1 set so you'll need Intel CPU with codename [http://en.wikipedia.org/wiki/Core_2#Penryn Penryn] or newer (E7xxx and higher for Code 2 Duos and Q9xxx and higher for quads). As of now AMD only partly supports SSE4 (calling it SSE4a) which sadly will not be enough for GSDX. '''Warning''': If you will try to use SSE4 optimized dll on unsupported CPU you will encounter a crash whenever the code reaches SSE4 optimized part (it may not happen for some time but it will occur eventually).
* AVX -- is an Intel and AMD CPU extension. Intel Sandy Bridge and Ivy Bridge CPUs and the AMD Bulldozer CPUs support this extension.
* '''AVX''' -- is an Intel and AMD CPU extension. Intel Sandy Bridge and Ivy Bridge CPUs and the AMD Bulldozer CPUs support this extension.


The difference between these versions is not immediately apparent to the user. You won't see large FPS gains when switching from SSE2 to SSE4 but there are some parts in games that do benefit from these optimizations. The AVX versions only provide speed ups fro the software renderer of GSdx.
The difference between these versions is not immediately apparent to the user. You won't see large FPS gains when switching from SSE2 to SSE4 but there are some parts in games that do benefit from these optimizations. The AVX versions only provide speed ups for the software renderer of GSdx.


==Quick guide to the settings==
==Quick guide to the settings==
Line 21: Line 21:
* '''Renderer''' -- A choice between DirectX 9 and DirectX 10 (when you have met the requirement for DirectX 10 otherwise DirectX 9 will be the only choice here). There are two subtypes for each API:
* '''Renderer''' -- A choice between DirectX 9 and DirectX 10 (when you have met the requirement for DirectX 10 otherwise DirectX 9 will be the only choice here). 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 '''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 [http://wiki.pcsx2.net/index.php/GSDX#List_of_ingame_keys '''List of ingame keys'''-'''F9'''].
* '''Interlacing''' -- is used to choose the default deinterlacing mode when starting the emulation process. For more detailed explanation see '''List of ingame keys'''-'''F5'''.
* '''Interlacing''' -- is used to choose the default deinterlacing mode when starting the emulation process. For more detailed explanation see [http://wiki.pcsx2.net/index.php/GSDX#List_of_ingame_keys '''List of ingame keys'''-'''F5'''].
* '''Aspect ratio''' -- is used to choose the default aspect ratio mode when starting the emulation process. For more detailed explanation see '''List of ingame keys'''-'''F6'''.
* '''Aspect ratio''' -- is used to choose the default aspect ratio mode when starting the emulation process. For more detailed explanation see [http://wiki.pcsx2.net/index.php/GSDX#List_of_ingame_keys '''List of ingame keys'''-'''F6'''].
* '''D3D 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.
* '''D3D 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. In contrast with the higher extrapolated '''D3D internal resolutions''', 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.
** '''Native''' resolution. In contrast with the higher extrapolated '''D3D internal resolutions''', 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 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 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").
* '''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''' -- filters textures when resizing them (like cubic or linear filtering). The resulting visuals may look better with this option but you will loose some FPS. Apart from ON and OFF there's the third GRAYED option. GSDX will apply filtering only for "3D textures" when this option is selected so some 2D sprite games may look better. Leave this option ON by default unless noted otherwise for a certain game you're going to play.
* '''Texture filtering''' -- filters textures when resizing them (like cubic or linear filtering). The resulting visuals may look better with this option but you will loose some FPS. Apart from ON and OFF there's the third GRAYED option. GSDX will apply filtering only for "3D textures" when this option is selected so some 2D sprite games may look better. Leave this option ON by default unless noted otherwise for a certain game you're going to play.
* '''Logarithmic Z''' -- changes the way the third (depth) coordinate is treated (logatithmic or linear). This option should be left ON unless you experience some weirdness in the objects (like seeing through them).
* '''Logarithmic Z''' -- changes the way the third (depth) coordinate is treated (logatithmic or linear). This option should be left ON unless you experience some weirdness in the objects (like seeing through them).
ninja
320

edits

Navigation menu