Muzer
19 Dec 2012, 23:14
I thought I'd just list here some info about the renderers and which ones to use.
I'll also say some of this might be wrong, as I've recounted this from memory without much checking. Please point out if I'm wrong.
First, a general note - all the actual rendering is done in software with *all* the renderers, and changing the renderer just changes how the result is drawn to the screen. So it's probably the case that CPU usage will be slightly higher than it was (like in the Steam version), though this hasn't been scientifically tested as far as I know.
Direct3D 9 (shader): This renderer acts most like modern games; this means that things like overlays (eg the Steam overlay, other things that interact directly with DirectX games like screen recorders/streamers, etc.) will work. It uses a GPU shader to perform the conversion from 8-bit paletted graphics, so it should also be as fast as possible (keeping CPU usage down). It requires a GPU with sufficient shader support (Pixel Shader 2.0 according to the readme) - most even vaguely modern systems should support this, and it's the recommended one to use as long as you don't have a very old system and don't experience other problems. Note that a known bug only discovered at the last minute is that this mode doesn't play well with mutliple monitors on Windows 7 (and perhaps Windows 8, this hasn't been tested); to work around this, enable the "Disable desktop composition" option in the compatibility tab in the preferences dialog for WA.exe, or use Direct3D 7.
Direct3D 9 (CPU): As above, but uses the CPU instead of a shader to perform the conversion from 8-bit paletted graphics. It's therefore going to be slightly harder on the CPU, but probably the best option if your GPU is old enough not to support the shaders (or is buggy).
Direct3D 7: Similar to Direct3D 9 (CPU), but uses Direct3D 7 instead. Useful if you're running an older Windows than XP and can't run Direct3D 9 or experience problems with Direct3D 9.
DirectDraw (32-bit): This is pretty much how the first Steam version worked, and I believe the new default. This works in quite a close way to the old game but using software palette conversion, making palette issues a thing of the past even if you still have to use DirectDraw. If you have issues with all the Direct3D modes, this is probably the one to go for.
DirectDraw (8-bit): This is as close as possible (with the software renderer) as to how the old game rendered its graphics. It might well be slightly faster than DirectDraw 32-bit because it might use the graphics card to do palette conversion (though this again hasn't been scientifically tested), but it will have all the old palette issues we all know and hate. If you can't use the Direct3D modes for whatever reason, AND you also can't use DirectDraw 32-bit, go for this one.
Extra options
You will also notice some extra options in advanced options that depend on the renderer.
Wait for vertical sync: Available in all renderers. Enabled, there can be input lag on some systems with some renderers, but disabled there will be screen tearing and a high CPU usage.
Assisted vertical sync: Available in both Direct3D 9 renderers. Enabled, helps alleviate input lag with the "Wait for vertical sync" option enabled on some systems but makes it worse on other systems... This can be enabled without "Wait for vertical sync" where it acts as a frame limiter but does not prevent tearing, so is not likely to be of any use.
Set Windows compatibility flags: Sets a registry key that should help with the DirectDraw modes on Windows 8. Has no effect on other renderers or operating systems.
Use desktop window: Makes the DirectDraw modes work in wine (on Linux) at the expense of ingame minimisation. Sadly wine users still have to use this, as the other renderers still don't work.
Use hardware cursors: Available in all renderers, helps alleviate input lag in the menu by using hardware to draw the cursor. Disable if you experience mouse issues.
Palette fix: The old palette fix option for the old 8-bit DirectDraw mode. Use if you insist on using this for whatever reason, it should work as it always did.
I'll also say some of this might be wrong, as I've recounted this from memory without much checking. Please point out if I'm wrong.
First, a general note - all the actual rendering is done in software with *all* the renderers, and changing the renderer just changes how the result is drawn to the screen. So it's probably the case that CPU usage will be slightly higher than it was (like in the Steam version), though this hasn't been scientifically tested as far as I know.
Direct3D 9 (shader): This renderer acts most like modern games; this means that things like overlays (eg the Steam overlay, other things that interact directly with DirectX games like screen recorders/streamers, etc.) will work. It uses a GPU shader to perform the conversion from 8-bit paletted graphics, so it should also be as fast as possible (keeping CPU usage down). It requires a GPU with sufficient shader support (Pixel Shader 2.0 according to the readme) - most even vaguely modern systems should support this, and it's the recommended one to use as long as you don't have a very old system and don't experience other problems. Note that a known bug only discovered at the last minute is that this mode doesn't play well with mutliple monitors on Windows 7 (and perhaps Windows 8, this hasn't been tested); to work around this, enable the "Disable desktop composition" option in the compatibility tab in the preferences dialog for WA.exe, or use Direct3D 7.
Direct3D 9 (CPU): As above, but uses the CPU instead of a shader to perform the conversion from 8-bit paletted graphics. It's therefore going to be slightly harder on the CPU, but probably the best option if your GPU is old enough not to support the shaders (or is buggy).
Direct3D 7: Similar to Direct3D 9 (CPU), but uses Direct3D 7 instead. Useful if you're running an older Windows than XP and can't run Direct3D 9 or experience problems with Direct3D 9.
DirectDraw (32-bit): This is pretty much how the first Steam version worked, and I believe the new default. This works in quite a close way to the old game but using software palette conversion, making palette issues a thing of the past even if you still have to use DirectDraw. If you have issues with all the Direct3D modes, this is probably the one to go for.
DirectDraw (8-bit): This is as close as possible (with the software renderer) as to how the old game rendered its graphics. It might well be slightly faster than DirectDraw 32-bit because it might use the graphics card to do palette conversion (though this again hasn't been scientifically tested), but it will have all the old palette issues we all know and hate. If you can't use the Direct3D modes for whatever reason, AND you also can't use DirectDraw 32-bit, go for this one.
Extra options
You will also notice some extra options in advanced options that depend on the renderer.
Wait for vertical sync: Available in all renderers. Enabled, there can be input lag on some systems with some renderers, but disabled there will be screen tearing and a high CPU usage.
Assisted vertical sync: Available in both Direct3D 9 renderers. Enabled, helps alleviate input lag with the "Wait for vertical sync" option enabled on some systems but makes it worse on other systems... This can be enabled without "Wait for vertical sync" where it acts as a frame limiter but does not prevent tearing, so is not likely to be of any use.
Set Windows compatibility flags: Sets a registry key that should help with the DirectDraw modes on Windows 8. Has no effect on other renderers or operating systems.
Use desktop window: Makes the DirectDraw modes work in wine (on Linux) at the expense of ingame minimisation. Sadly wine users still have to use this, as the other renderers still don't work.
Use hardware cursors: Available in all renderers, helps alleviate input lag in the menu by using hardware to draw the cursor. Disable if you experience mouse issues.
Palette fix: The old palette fix option for the old 8-bit DirectDraw mode. Use if you insist on using this for whatever reason, it should work as it always did.