Better Visuals Part 2: Injection perfection

So if your favourite DX9/10/11 game doesn’t have built-in PPAA support and the driver-level stuff makes the GUI look gooey then what’s the solution? Injection. By injecting some code to catch the final rendered image and apply post-processing filters you can have PPAA on almost any game. Some games require that you turn off in-game AA and some 3rd party overlays can cause issues (Steam, Origin, Afterburner), but in general, 60% of the time it works every time. Installation involves copying a few files to the game directory and the injector handles the rest. Over time the basic PPAA injectors have evolved into suites of filters that can effect the sharpness, vibrance, gamma and other properties of the final image. FXAATool and SweetFX are becoming the most popular of these.

Far Cry 3 with SweetFX

For AMD/ATi users there is a tool called RadeonPro that allows you to create profiles to tweak all the visual aspects of your game. It includes SweetFX integration support and experimental features like Ambient Occlusion (self-shadowing). It can take screenshots, make videos, overclock your card, show an on-screen display and, critically, can get all the SweetFX features working on 64-bit executables (standalone SweetFX is limited to 32-bit). This would be important if you wanted PPAA in 64-bit games like DCS World.

Prince of Persia with SweetFX splitscreen

Part 3 will conclude this guide to Better Visuals with a look at downsampling.

Links:
SweetFX Configurator (SweetFX and a GUI to help configure the various filters)
Radeon Pro (grab SweetFX below to enable it through RadeonPro)
SweetFX v1.4
FXAA Tool

j2p0_dish1

Better Visuals Part 1: Post-processing AA

aacomp

Anti-aliasing. We all love it but it costs too much. In modern games running 4xMSAA at 1080p and higher resolutions is going to cost you 25%+ of your framerate. Now if you’ve got the GPU grunt to push 100+ FPS then 25% won’t hurt you but if you’re on the limit of playability (30-40FPS) then you have to compromise by dropping AA or reducing other settings to maintain fluidity. This is where post-process anti-aliasing (PPAA) comes in.

Removing aliased edges in a post-processing step is faster and uses less memory as you are working with a texture and not a scene. There are lots of flavours of PPAA all with instantly forgettable four letter acronyms. The most basic (i.e. blunt-force) methods perform the GPU equivalent of slapping vaseline on the lens. The result, as you can imagine, is a softened, blurry mess that also smudges the UI. ATI’s MLAA and Nvidia’s driver-level FXAA fall into this category along with a few other less well known versions. If developers decide to include the likes of FXAA in their games then they can prevent the UIs being filtered and you get good performance and image quality. Deus Ex Human Revolution and ARMA 2 are two examples of this approach. Then we have SMAA which looks to tick all the boxes in terms of smoothing aliasing without introducing the vaseline effect and all with a relatively small performance hit. Most PPAA methods work only in engines using DX9 and above (FXAA works for OpenGL) but with the older engines you should be able to use standard AA and not run into performance problems.

Another issue with traditional anti-aliasing methods is that they consume large amounts of VRAM especially if you try supersampling or edge-detect modes. FXAA/SMAA do not have high VRAM overhead.

ppaa

Part 2 will deal with how to get these nice PPAA methods working in your games.

 

Extended Play.

MoeLAN is back – in blog form! I’ll be using it to post tips, tweaks, mods and anything else that takes my fancy that I spot in the world of PCs and PC gaming.

moesig