GSdx: Difference between revisions

Jump to navigation Jump to search
633 bytes removed ,  12 January 2016
Revised Hardware Renderers - added OpenGL, removed obsolete DirectX 10 references. Revised texture filtering documentation to reflect new GUI. Additional information will be consolidated later
(Revised Hardware Renderers - added OpenGL, removed obsolete DirectX 10 references. Revised texture filtering documentation to reflect new GUI. Additional information will be consolidated later)
Line 1: Line 1:
GSdx is the most well-known graphics (GS) plugin for [[PCSX2]], dating back to 2007 and initially developed by Gabest. GSdx is able to use both DirectX and OpenGL APIs. It also can switch between hardware and software rendering. Some of many of the impressive features of GSdx are high resolution rendering, anti-aliasing, texture filtering, many deinterlacing modes, full screen mode, correctable aspect ratio, et cetera. DirectX 10/11 mode is confirmed by many to be the most compatible (in contrast with DirectX 9) but some games will still work better under DirectX 9. You can find the official GSdx thread [http://forums.pcsx2.net/Thread-GSdx here].
GSdx is the most well-known graphics (GS) plugin for [[PCSX2]], dating back to 2007 and initially developed by Gabest. GSdx is able to use both DirectX and OpenGL APIs. It also can switch between hardware and software rendering. Some of many of the impressive features of GSdx are high resolution rendering, anti-aliasing, texture filtering, many deinterlacing modes, full screen mode, correctable aspect ratio, et cetera. OpenGL/11 mode is confirmed by many to be the most compatible (in contrast with DirectX 9) but some games will still work better under DirectX 9. You can find the official GSdx thread [http://forums.pcsx2.net/Thread-GSdx here].


==Hardware requirements==
==Hardware requirements==


The minimum hardware requirements are a graphics card with pixel shader 3.0 (ATi Radeon 9500 series and later and the NVIDIA GeForce FX series) and SSE2 CPU. Most PCSX2 emulated games are not hungry for GPU power but are dependent on the CPU. However, certain scenes in some games can be slowed down significantly if your graphics card is weak. Care must also be taken when running PCSX2 on laptops. Some of them are not designed to work on constant 100% load and can suffer damage from overheating. Investing on a decent laptop cooler is a good idea.<br />
The minimum hardware requirements are a graphics card with pixel shader 3.0 (ATi Radeon 9500 series and later and the NVIDIA GeForce FX series) and SSE2 CPU. Most PCSX2 emulated games are not hungry for GPU power but are dependent on the CPU. However, certain scenes in some games can be slowed down significantly if your graphics card is weak. Care must also be taken when running PCSX2 on laptops. Some of them are not designed to work on constant 100% load and can suffer damage from overheating. Investing on a decent laptop cooler is a good idea.<br />
For DirectX 10 mode you will need a DirectX 10 capable card (NVIDIA GeForce 8000 series or ATi Radeon HD 2000 series at the least) running under Windows Vista or newer.<br />
Don't forget to update your DirectX ([http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=35 Web installer], [http://www.microsoft.com/download/en/details.aspx?id=8109 Runtime package]) specifically if your PCSX2 does not want to work demanding to update DirectX or complaining about some missing dlls.<br/>
Don't forget to update your DirectX ([http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=35 Web installer], [http://www.microsoft.com/download/en/details.aspx?id=8109 Runtime package]) specifically if your PCSX2 does not want to work demanding to update DirectX or complaining about some missing dlls.<br/>
You will also need to update your system with Microsoft Visual C++ Redistributable Packages for Visual Studio 2010, 2012 and 2013.<br />
You will also need to update your system with Microsoft Visual C++ Redistributable Packages for Visual Studio 2010, 2012 and 2013.<br />
Line 20: Line 19:
Familiarize yourself with the following terms used by GSdx:
Familiarize yourself with the following terms used by GSdx:
* '''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'''.
* '''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 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, 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''']].
* '''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''']].
* '''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''']].
* '''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''']].
* '''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''']].
Line 30: Line 30:
* '''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"). A list of custom shaders can be found [http://forums.pcsx2.net/Thread-Custom-Shaders-for-GSdx here].
* '''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: GRAYED. The ON option will force GSdx to filter all textures. The OFF option will disable texture filtering completely. The GRAYED option will make GSdx only apply filtering to textures when the game's code calls for it, just like the PS2. Leaving this option in its default GRAYED state might make some 2D games look better than if you had the option turned ON. The following screenshots display the difference between the three options (open in the separate windows to compare):
 
<gallery>
* '''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.  
File:TextureFilteringOn.png|ON (filtering enabled on all textures)
 
File:TextureFilteringGrayed.png|GRAYED (text and some HUD elements aren't filtered)
File:TextureFilteringOff.png|OFF (filtering disabled)
</gallery>
* '''Logarithmic Z''' -- changes the way the third (depth) coordinate is treated (logarithmic or linear). This option should be left ON unless you experience some weirdness in the objects (like seeing through them).
* '''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:
* '''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.
** '''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.
Line 49: Line 45:


Source: [http://forums.pcsx2.net/Thread-What-does-allowing-disabling-8-bit-textures-do PCSX2 forum]
Source: [http://forums.pcsx2.net/Thread-What-does-allowing-disabling-8-bit-textures-do PCSX2 forum]
===DX9 Options===
* '''Logarithmic Z (DX9 Only)''' -- changes the way the third (depth) coordinate is treated (logarithmic or linear). This option should be left ON unless you experience some weirdness in the objects (like seeing through them).
* '''Alpha correction (FBA)''' -- is a correction to make some textures partly or fully transparent (as required by the emulation) but may cause unusual slowness in some games. Should be ON by default unless your game is slowed down buy this option (This, for example, may help games like [[Super Robot Taisen Original Generations]]).
* '''Alpha correction (FBA)''' -- is a correction to make some textures partly or fully transparent (as required by the emulation) but may cause unusual slowness in some games. Should be ON by default unless your game is slowed down buy this option (This, for example, may help games like [[Super Robot Taisen Original Generations]]).
===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.
* '''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.
* '''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.
ninja
143

edits

Navigation menu