In 2012, Peter "Durante" Thoman wrote the popular mod DSfix for Dark Souls: Prepare to Die on PC, fixing its locked 1024x720 resolution and other issues. In 2013, he released a similar fix for Deadly Premonition. We asked Durante to analyze the PC port of Dark Souls 2 in a series of articles. Here he explains how to wring the most performance from the game…
We previously investigated what Dark Souls 2 delivers out of the box , and it certainly has a nice selection of options. However, due to the unique strengths of the PC platform, we can try to go further in order to enhance our visual experience. In this article we will be relying entirely on generic, freely available tools. No hardcore hacks required.
Image Quality & Anti-Aliasing
The in-game anti-aliasing option enables a post-processing solution, more specifically FXAA3 with the “high quality” profile, as it is commonly provided in many modern games. While its implementation is of much higher quality than the blur available in the first Dark Souls PC port, it still suffers from the drawbacks inherent in such solutions (you can read more details about the various types of aliasing and anti-aliasing here ):
- No anti-aliasing for sub-pixel structures (objects which have less width or height on screen than the size of a single pixel).
- Instability in motion, because the edge blur is generated from individual images and not true scene data.
- Slight unintended blurring of pixels which are not on aliased edges.
We have multiple options for improving image quality in the game. Since Dark Souls 2 supports arbitrary resolutions, one option is to use downsampling , either as a replacement for, or in addition to, the in-game anti-aliasing setting. This allows us to achieve an arbitrary level of desired image quality, though with a serious performance hit.
In short, downsampling from 4k resolution and beyond makes most games look their very best, bringing out all possible detail while eliminating artifacts, but it requires a very powerful PC to maintain acceptable performance levels. The screenshot below was taken at the 7680x4320 resolution (16x “Full HD”!) shown in the image above and downsampled.
Using Nvidia Inspector
However, there is another, even better option for those of you with Nvidia graphics cards. I discovered a “compatibility flag” which works with Dark Souls 2 and enables the use of any level of SGSSAA (2x, 4x and 8x). In order to perform this tweak, you need to get Nvidia Inspector and set up the Dark Souls 2 profile as shown here:
It may be slightly confusing to select numbers associated with other games such as Diablo 3 and Demigod here, but all it means is that what Dark Souls 2 does in regard to rendering is similar enough to what these games do for that particular “hack” to work. Here are the specific steps you need to perform for Inspector-based tweaking in Dark Souls 2 (as annotated in the image):
- If it is not already there, add “darksoulsII.exe” to the list of executables associated with this profile, by clicking the icon with the small green “+”.
- [Only if you want to use HBAO+, see the next part of the article] Enter “0x0000001F” in the “Ambient occlusion compatibility” field.
- Enter “0x004412C1” in the “Antialiasing compatibility” field.
- Select “Override any application setting” as the “Antialiasing – Mode”, and select your desired level of SGSSAA in both the “Antialiasing – Setting” and “Antialiasing – Transparency Supersampling” fields. Higher levels are higher quality, but also cause a larger performance hit.
- [Optional] If you want to force full anisotropic filtering on all textures in the game, you may do so here.
- [Only if you want to use HBAO+, see the next part of the article] Set “Ambient Occlusion Setting” to “Quality”.
Better Image Quality in Motion
I previously described the drawbacks of the post-processing antialiasing method used in the game, but concepts like temporal stability and sub-pixel structures might appear quite abstract without an example. The following animation shows the difference on some swaying grass, which is an example of a thin structure in motion. To make the distinction more obvious, the image is scaled by a factor of 2 in both dimensions.
Note how the in-game anti-aliasing does not work well in this use case, causing flickering and image instability, while 4xSGSSAA handles the situation perfectly. AMD users need not fret, downsampling from a sufficiently high resolution can achieve similarly good results.