Customizing Graphics settings using SweetFX

furax

Chikubi
FC/Leadership
If you've never heard of this before, SweetFX is a Direct3D injection dll that works between the program and DirectX to provide specialized D3D functions like AA, color changes (sepia, saturation, film-grain, etc), Luma changes (brightness, contrast, HDR, Bloom), and other shader-based effects. The 1.4 version doesn't work, but I found a new version that is being worked on with the original creator. This new version supports 64-bit applications and supports DX9, DX10, and DX11. The software works with all Windows-based systems, and I highly recommend it for everyone regardless of hardware. The algorithms used for the post-processing effects are very efficient and can enhance your experience in the game when used correctly (and in moderation for those of us with only moderate hardware or laptops).

For FFXIV I focused on two aspects of the graphics engine that could use improvement: Color saturation and Antialiasing. The FXAA engine (Fast Approximate Antialiasing) provided with FFXIV causes an undesireable blur effect to the entire scene. This is the nature of FXAA, as it was designed to blur all edges regardless of their location in the game.

SweetFX also uses a shader-based AA algorithm, but it is a bit smarter than FXAA. Taken from the SMAA (Smart Morphological Antialiasing developer page:

We present a new image-based, post-processing antialiasing technique, which offers practical solutions to the common, open problems of existing filter-based real-time antialiasing algorithms. Some of the new features include local contrast analysis for more reliable edge detection, and a simple and effective way to handle sharp geometric features and diagonal lines. This, along with our accelerated and accurate pattern classification allows for a better reconstruction of silhouettes. Our method shows for the first time how to combine morphological antialiasing (MLAA) with additional multi/supersampling strategies (MSAA, SSAA) for accurate subpixel features, and how to couple it with temporal reprojection; always preserving the sharpness of the image. All these solutions combine synergies making for a very robust technique, yielding results of better overall quality than previous approaches while more closely converging to MSAA/SSAA references but maintaining extremely fast execution times. Additionally, we propose different presets to better fit the available resources or particular needs of each scenario.

One caveat of SMAA is its effect on text rendering. The text becomes very slightly altered by SMAA's processing. It isn't detracting, but it is noticeable.

You can grab the zip package of SweetFX from here: http://forums.guru3d.com/showpost.php?p=4581604&postcount=528. Extract the contents of the zip file to your ..\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ directory.

For reference, here is my settings file. I have everything turned off aside from SMAA and Vibrance. Vibrance increases the color saturation. It is really gorgeous and makes the game pop even more. Don't be too generous with the saturation, though. My SMAA settings are about equivalent to 6x - 8x SSAA. The results are great, as I get smooth edges while retaining a crisply rendered scene. I've also changed the keybindings for reloading the injector settings. They are defaulted to Scroll Lock, which is the key to hide your UI. I changed it to the Pause/Break key- which reloads the injector's settings. I should mention, you can change your settings in the settings file ON THE FLY! You don't have to unload and reload the game to put your new settings into effect. Simply make your changes, save the settings text file, go back into the game, and tap the Scroll Lock key to apply your changes to the game!

My Settings file: http://puu.sh/4kuJd/2a2ab53446.txt. You can right-click and click Save Link As... to save the file. Put it in the same directory as above.

I have no screenshots to provide of the effect in-game. I only discovered this compatible version last night, and I wasn't feeling very well so I didn't play with it much before going to bed. There are often concerns that this sort of activity can get you banned, but I assure you that is false. The program does NOTHING to the game itself. All functions occur within the D3D processing tree only and do not touch the application that hooks into D3D at all. I urge you to try it out and add some screenshots of your experimenting to the forum's albums. Remember you can make your changes on the fly and revert them just as easily! Have fun!
 
Last edited:
Thanks for the write up on this. I'm going give this a go next week sometime. (I've go to go out of town this weekend, which I don't really want to do... lol)
 
I'm working on a write up for PC players on best configuration to mitigate the framerate drops that occur in high-density areas. I've found a nice balance that doesn't stress the DX9 rendering pipeline too badly while still maintaining a high image quality. I saw a 10FPS jump in crowds thanks to this. I SINCERELY wish SE didn't use DX9 to handle rendering.
 
I'm working on a write up for PC players on best configuration to mitigate the framerate drops that occur in high-density areas. I've found a nice balance that doesn't stress the DX9 rendering pipeline too badly while still maintaining a high image quality. I saw a 10FPS jump in crowds thanks to this. I SINCERELY wish SE didn't use DX9 to handle rendering.

Nice, Looking forward to it. I don't have much problem with my current setup, just the god damned summoning bells. Maybe the AFK timer will help with that some, but maybe not. No real game time until next weekend at this point, going on a trip from tonight through Monday afternoon.
 
I've decided to just simplify the writeup to one sentence: turn the shadow cascading to normal, the detail to 1024, and the softening off. This is all that is really hurting the game. DX9 does not support the shadowing techniques used by FFXIV's engine, including ambient occlusion. Turning these features off will improve your framerate. Right now a draw call for these effects has to go all the way from the gpu to the cpu to directx 9 to the game engine to direct x to the cpu and to the gpu. This takes a little bit longer than the 16ms needed to maintain 60 fps. When the command only has to travel from the gpu to the CPU to DX11, framerates should see dramatic improvements. That is, of course, HIGHLY dependent on what graphical features SE decides to offload from the engine and into the DX11 API.

To put it simply, right now DX9 has to ask FFXIV how to draw shadows. With DX11, FFXIV just asks it to draw the shadows. The engine can then perform other tasks like fitting more character models into its available memory cache for on-screen rendering.
 
Updated URL for the SweetFX download. I seriously recommend this for any of you running any PC hardware. The reason I provide that link and not a link to CeeJay's release is due to the lack of 64-bit executable support in CeeJay's release version. Bonjour's edit fully supports 64-bit executable files and the source code is public for his version of SweetFX. I have to reiterate: SMAA provides and MUCH higher antialiased image quality than FXAA, and some of you are running with hardware that can easily handle high settings in SMAA. Looking at you Aang, with your gross aliased screenshots. w。
 
Back
Top