Overclock.net banner

1 - 20 of 29 Posts

·
PC Gaming 1337 Enforcer
Joined
·
14,431 Posts
Discussion Starter #1
DMDsw9X.jpg


After seeing the response to this post of mine, I have decided to make this thread.

NVIDIA Inspector is a tool for editing driver settings on NVIDIA GPUs (as well as monitoring and overclocking, like RivaTuner and its derivatives). Like an expanded version of that section of NVIDIA Control Panel. Many people aren't aware that Inspector has a plethora of options for tweaking image quality. The tweaks I'm going over in this thread are forcing ambient occlusion and supersampling into games.
Preface

Without ambient occlusion, games look so much less realistic as light no longer seems to have much of an effect on the environment. And aliasing? It can make an otherwise great looking game look horrible. Most games today are heavily aliased even with their anti-aliasing setting maxed out, because they only have highly ineffective, overly simple post-process AA such as MLAA, FXAA, or SMAA. They attempt to blur out aliased edges after the scene is already fully rendered and fully aliased.

These games, even at 2560 x 1440 and often even at 4k, are so aliased that all objects will appear like distorted raw polygons or blobs with moving, white jaggy edges. Some of the biggest offenders include The Witcher 3, Assassin's Creed: Unity, Crysis 3, Mass Effect series, S.T.A.L.K.E.R. Shadow of Chernobyl, and numerous others.

Supersampling is the ultimate anti-aliasing method, and also the most demanding. You see, if we could play games at a large enough resolution (5k or higher from my experience) then aliasing wouldn't be an issue. This is the principle behind downsampling, supersampling's infant brother; simulate a larger resolution by rendering the image at a larger resolution and then scaling it back down with a rescaling filter (Lanczos being the best I know of, used by GeDoSaTo).

But supersampling doesn't just use a simple rescaling filters. The filters it applies are far more complex and effective at eliminating aliasing, and it gets rid of all kinds of aliasing whether it's geometry, shader, aliasing on transparent textures, temporal, you name it. Whereas MSAA is only good for removing aliasing on geometry, MLAA/SMAA/FXAA targets only shader aliasing but they're good for nothing, TAA is a good all around method but still not on supersampling's level (though it's not demanding at all so there is no good reason for MLAA/SMAA/FXAA to exist anymore).

Unfortunately these tweaks only work in pre-DX10 games, the ambient occlusion probably only working in DX9 (and maybe a few OpenGL titles). There are very few exceptions; it is possible to force ambient occlusion into Metro Redux using this method (a DX11 game), and it does improve image quality ever so slightly. Nonetheless, these tweaks are a primary reason as to why I stick with NVIDIA graphics cards; many of the best games ever made are DX9, and I like to make them look as good as possible. Plus I hate aliasing more than almost anything else.

Why don't these tweaks work in newer games? I suppose NVIDIA decided that compatibility isn't needed. Modern games always have their own ambient occlusion implementation, although they could really use the supersampling because modern games are more aliased than ever before. But then again, supersampling is very hard to run.

Speaking of performance, I can't speak for the performance impact of forcing ambient occlusion. The last time I felt an actual impact was in Skyrim using a GTX 680. With my current PC (see my system specs) I obviously can't really measure a difference.

As for supersampling, see this quote:
Quote:
In the situation where a game is bound by pixel shaders (usually the case in modern games) assuming no external bottlenecks the framerate after SSAA is applied will be 1/n of the framerate without SSAA where n is the number of samples. In other words 4xSSAA would give you 1/4th the performance of no SSAA, or a 75% drop in performance to put it another way.
Source

So 2x supersampling will give you a 50% performance penalty, 4x will give you a 75% drop, 8x will give you an 87.5% drop.

Procedure

1. Download NVIDIA Inspector from Guru3D. Link.

2. You must run "nvidiaProfileInspector.exe" to perform these tweaks. Not the regular Inspector application, which is the monitoring and overclocking tool.
3OWcWGP.jpg


3. Upon launching nvidiaProfileInspector, you are greeted with the global driver profile. It applies to all 3D applications, but anything you change in individual profiles will overwrite the global setting.
2BGDGFq.jpg


You should set some basic parameters in the global profile.

  • People with decent modern PCs should set texture filtering to High Quality, and just enable High Quality ambient occlusion.
  • Set your desired Power management mode (I prefer "Prefer Maximum Performance" so that my GPU never downclocks when it shouldn't).
  • Disable Shadercache since it might cause stuttering in some games.
  • Set "Texture filtering - Negative LOD bias" to Clamp, and leave LOD bias at 0. This will usually deliver the best image quality all things considered as you won't get shimmering. I only recommend using Allow and a negative value when using supersampling, which we'll go over later.
  • Set Preferred Refresh Rate to Highest Available. This may have to be changed in very specific scenarios, such as if you want to use a lower than maximum refresh rate in certain games (e.g. using 120 Hz ULMB in Source games on my 144 Hz monitor). In which case, set the appropriate setting for that game's driver profile.
4. Now we can look at modifying individual game profiles. See the dropdown menu in the image below. You can also type out your own game, and create your own profiles for unsupported games. Although if said unsupported game uses a common engine, it might be better to just add its executable file to an existing profile for a game using that engine (by choosing that game's profile and clicking one of the icons near the top that says "Add application to current profile").
siwrbvP.jpg


5. Since we're focusing on forcing ambient occlusion and supersampling into games, you need to use compatibility bits (save for DX8 games which don't need them). See the red box labeled 1. in the image below. Notice there is a separate field for anti-aliasing compatibility in DX1x games (DX10, DX11, DX12). Funny they put this because to my knowledge, there are no bits for any DX10/DX11/DX12 game.
E9Yun6D.jpg


To find proper compatibility bits, go here for anti-aliasing bits and here for ambient occlusion bits. If that Guru3D anti-aliasing thread says to either use or do not use "AA fix" then do as they say. If they say nothing (which is usually the case), do not use AA fix.

So let me go over the labeled red boxes in that image above. The numbers in the list below correspond to the image above.

  1. As I said earlier, these are the compatibility bits. Get them from those Guru3D threads, and if a game isn't listed find out what engine it uses and see if there are any bits for other games on that engine.
  2. Antialiasing - Behavior Flags - Set this to None every time, so that it doesn't screw with your AA.
  3. These are the actual anti-aliasing settings. Antialiasing - Mode allows for application-controlled (doesn't make any changes), Enhance the application setting (enhances the game's current AA), and Override the application setting (bypassing the game's AA and forcing its own). You can force or enhance multisampling (full screen or just transparent), sparse grid supersampling aka SGSSAA (full screen or just transparent), ordered grid supersampling aka OGSSAA (full screen or just transparent), and hybridsampling aka HSAA (full screen only). Read all about these different AA forms here, under "Nvidia" but do read the others too since it's good knowledge to have. Personally, I find that SGSSAA typically looks the best, when there is a bit that allows for all three. The image above showcases 2x full screen SGSSAA (aka FSSGSSAA). I rarely use Enhance, only using it if the game for some reason supports Enhance but not Override (e.g. KOTOR).
  4. "Texture filtering - Driver Controlled LOD Bias" should be set to On in the default profile, don't touch this. The other three settings in this box control your LOD or Level Of Detail settings. Ideal settings here depend on what kind of AA you're forcing. Unless it's supersampling or hybridsampling, leave it at Clamp and 0. If hybridsampling, set it to Allow and 0 since hybridsampling has auto LOD adjustment.
  5. Ambient occlusion settings. Always leave it as Enabled unless you can't run it at all, though the other setting does have three performance options: Performance, Quality, and High Quality (and Off, seems redundant given the other setting but whatever).
So those are the things you need to adjust, using the appropriate bits listed in those Guru3D threads. You might even discover working bits yourself, for a certain game.

Here are some examples of settings you may find yourself using. The last image above shows me forcing 2x SGSSAA into Half-Life 2: Episode Two (and any Source mod built on Source SDK Base 2007). Below is another example of SGSSAA, this time 4x:
XMqcA52.jpg


Notice the pattern? Below are the steps to apply full screen SGSSAA:

  1. Make sure AA Behavior Flags are set to None.
  2. Set Antialiasing - Mode to Override.
  3. Antialiasing - Setting must be set to either 2x multisampling, 4x multisampling, or 8xQ multisampling. I suppose 8x CSAA and 16xQ might work with 4x and 8x sparse grid supersampling respectively. The reason for this rule is, sparse grid supersampling gets its sample coordinates from the MSAA samples, thus they have to match numerically.
  4. Disable transparency multisampling.
  5. Set transparency supersampling to sparse grid and however many MSAA samples you chose in step #3.
  6. Set "Allow Negative LOD Bias" to Allow.
  7. Set the LOD Bias (the correct one; DX means DirectX, OGL means OpenGL) to -0.5 if using 2x SGSSAA, -1.0 if using 4x SGSSAA, or -1.5 if using 8x SGSSAA.
  8. Don't forget to hit apply!
So, following the above steps, the image below shows the correct settings for 8x SGSSAA. Alternatively, 16xQ might work as the antialiasing setting as well.
tCG788G.jpg


Now let's look at OGSSAA in the image below.
A7YzrKP.jpg


There are only a few differences on how to set this up over SGSSAA. The first being, multisampling is never used for the AA setting. Second, sparse grid is obviously not used for transparency supersampling; instead the regular supersampling is used (which is ordered grid). The LOD works the same way, I'll just quote that blog again here:
Quote:
Set negative lod to allow and set the lod bias as follows:
1x2 OGSSAA (2 samples): -0.5
2x1 OGSSAA (2 samples): -0.5
2xSGSSAA (2 samples): -0.5
2x2 OGSSAA (4 samples): -1.0
4xSGSSAA (4 samples): -1.0
8xSGSSAA (8 samples): -1.5
3x3 OGSSAA (9 samples): -1.58 (or as close as you can get)
4x4 OGSSAA (16 samples): -2.0

The formula for determining the correct lod bias is "y = -0.5 * log, base 2, of (n)" where n is the number of samples and y is the correct lod bias. Of course since some of you may have forgotten how to use logarithms I went ahead and typed out the correct values for each SSAA mode above.
Expanding on this, if using 1x2 or 2x1 supersampling, transparency supersampling should be set to 2x (just do the math, 2 * 1 = 2 and 1 * 2 = 2 and the goal here is to apply full screen supersampling). 2x2 supersampling should use 4x transparency supersampling. Thus, you can't apply full screen 8x or 9x OGSSAA, only 2x, 4x, and 16x!

It is of course possible to run into a scenario where your PC can handle 1x2 or 2x1 OGSSAA + 4x transparency supersampling. It's not going to look worse than 2x FSOGSSAA (which is 1x2 or 2x1 + 2x transparency supersampling) though it'll run much worse. In this case you might be better off running 2x2 OGSSAA and 2x transparency supersampling. Either way you are applying a different amount of supersampling to transparent edges compared to the rest of the image.

What is the difference between 1x2 and 2x1 you ask? 1x2 = 1 horizontal sample and 2 vertical, 2x1 is the opposite. Neither one is perfect, if 2x FSSGSSAA works instead it's bound to look better.

To enable HSAA, which is OGSSAA + MSAA + auto LOD adjustment, follow these steps:

  1. Set AA behavior flags to None.
  2. Set AA mode to Override.
  3. Set Antialiasing - Setting to one of the settings that ends in "xS". This indicates HSAA.
  4. Disable transparency multisampling.
  5. Set transparency supersampling to one of the regular supersampling options, matching the OGSSAA samples of your chosen "xS" option in step 3.
  6. Set LOD bias to 0.
  7. Set Allow Negative LOD Bias to Allow. Remember, HSAA has auto LOD adjustment.
Examples of it in action; the image below shows 2x HSAA, since 4xS includes 1x2 OGSSAA and 2x MSAA thus 2x transparency supersampling is used.
VKQN9EU.jpg


The image below shows 4x HSAA. 32xS = 2x2 OGSSAA (4x) + 8x MSAA, so 4x transparency supersampling is used.
SLlAcuI.jpg


Screenshot Comparisons (open them in new tab, then magnify by clicking on it)

Now let's look at some screenshot comparisons! Details provided below for each game comparison. For every before/after comparison, before shows the game with no driver tweaks. Remember, the differences are even more obvious in gameplay since aliasing is more obvious in moving images (the jaggies appear to move).

Unreal Engine 3 games

Unreal Tournament 3 (2007). Before = no driver tweaks, After = 4x SGSSAA and high quality ambient occlusion using the UT3 AO bits. Interestingly enough this is the one game I can detect an FPS drop caused by high quality HBAO+. Without it, and even with 4x SGSSAA, I get 120 FPS with V-Sync. With high quality HBAO+ my frame rate is dropped to 100-110. Be sure to open the images in a new tab and magnify them by clicking on them.
C0TLKR3.jpg

RmwawOh.jpg


M6jZKzu.jpg

IxwsEPV.jpg


PdHXpBy.jpg

RW803NW.jpg

Mass Effect (2007): Before = no driver tweaks, After = 2x SGSSAA and high quality ambient occlusion using Mass Effect AO bits. The changes are even more significant in practice due to the fact that the aliased edges move a lot.
Gc59ggy.jpg

AfDxAsE.jpg


uNQq5kb.jpg

MisBseL.jpg

As you can see even 2x SGSSAA isn't enough to get rid of all the aliasing, although it gets rid of a lot and prevents the edges from glowing white and moving like they do without it.

Mass Effect 2 (2010): Before = no driver tweaks, After = 4x SGSSAA and high quality ambient occlusion using Mass Effect AO bits.
HW1eGQp.jpg

xU2uxNa.jpg


6cyBhkq.jpg

sIO5I4j.jpg


wfP57nG.jpg

IqmTyJD.jpg

Dishonored (2012): Before = no driver tweaks and in-game FXAA, After = 2x SGSSAA and high quality ambient occlusion using Hawken AO bits. I'm actually shocked that the difference isn't as obvious in the screenshots, although the aliasing difference is still major to me just in the screenshots.
Ijw8Xuo.jpg

3ZdrV1B.jpg


5Tj66Te.jpg

QJFejH6.jpg


eZntnPU.jpg

mY1JTWR.jpg

Source Engine games/Source mods.

Underhell: Before = no driver tweaks and in-game 8x MSAA, After = 2x SGSSAA and high quality ambient occlusion using HL2 E2 AO bits.
jXLdw0C.jpg

0I75LER.jpg


Vs9EZ47.jpg

YHyj4KP.jpg


p1xXvfL.jpg

nUn3PUO.jpg

No More Room in Hell: Before = no driver tweaks and in-game 8x MSAA, After = 2x SGSSAA and high quality ambient occlusion using HL2 E2 AO bits.
vuvXk0a.jpg

rf9jcjJ.jpg

id Tech Games

Call of Duty: Before = no driver tweaks, After = 4x SGSSAA with 16x AF and forced ambient occlusion using Wolfenstein AO bits. The AO doesn't seem to work, but the other two things make a massive difference.
2vCNII5.jpg

1bWdvrs.jpg

Other examples

Dragon Age: Origins: Before = no AA, since in-game AA doesn't work with the SweetFX I'm using. After = 4x SGSSAA.
tWdny7v.jpg

ySKrov9.jpg


WCIi3T1.jpg

mhEuarU.jpg

Other than performance, the possible downside to forcing supersampling is blur, which is caused by conflicting post-process shaders. This blur can be countered with post-sharpening injected by something like ReShade, SweetFX, or GeDoSaTo. Alternatively, it can be countered by using more than 2x supersampling. 4x and 8x will either blur a lot less or not have visible added blur at all because the blur is offset by the extra samples (rendering at 4x or 8x native resolution).

When forcing ambient occlusion, if you're using compatibility bits not listed for a game on that Guru3D thread above, you may notice flickering (ambient occlusion turning on and off). Also, in some engines like UE3, forced ambient occlusion will appear to shine through fog and volumetric effects.
 

·
Registered
Joined
·
200 Posts
thumb.gif
Been forcing sgssaa through nvidia inspector in older games for a few years and it's great, make's older games look better by getting rid of jaggies, never tried forcing ambient occlusion though, however thanks to your post I'll try it
smile.gif
 

·
PC Gaming 1337 Enforcer
Joined
·
14,431 Posts
Discussion Starter #4
Updated with Unreal Tournament 3 and Mass Effect (first one, ME2 was already there) screenshot comparisons. It's interesting to note that UT3 shows perhaps the most drastic changes in the provided screenshots, due to its color palette and post-processing settings I guess. In practice, the improvement in all UE3 and Source games is similarly huge.
 

·
Registered
Joined
·
388 Posts
Great guide, thanks for explaining this. Off hand question, would this work in conjunction with the MEUITM mod for the first Mass Effect game, or would there be conflicting code/programming from the mod? MEUITM pack has made it look much better than standard no-mod graphics but this looks like it might be a step up in terms of overall graphic quality. Thanks again
thumb.gif
 

·
PC Gaming 1337 Enforcer
Joined
·
14,431 Posts
Discussion Starter #6
Quote:
Originally Posted by MythTFLfan29 View Post

Great guide, thanks for explaining this. Off hand question, would this work in conjunction with the MEUITM mod for the first Mass Effect game, or would there be conflicting code/programming from the mod? MEUITM pack has made it look much better than standard no-mod graphics but this looks like it might be a step up in terms of overall graphic quality. Thanks again
thumb.gif
They should work fine, since mods are separate from driver settings like this. Worst case scenario is, with some mods in certain games, said mod might have its own shader-based ambient occlusion implementation which may conflict with driver forced AO. But I see on ModDB that someone (the creator?) showcases that very same mod with driver forced AO, so I'd expect no issues.
 

·
Registered
Joined
·
388 Posts
Cool, I'll have to give this a try at some point. Thanks
 

·
Gaming Addict
Joined
·
778 Posts
Great guide, thanks! +REP
thumb.gif
 

·
Quad Core? Quad Damage!
Joined
·
684 Posts
So all in all nVidia Inspector allows more fine tuning of settings than possible in the regular nVidia drivers control panel, even though the major options (AF, AA, occlusion) are the same between the two applications, correct?
 

·
PC Gaming 1337 Enforcer
Joined
·
14,431 Posts
Discussion Starter #10
Quote:
Originally Posted by XenoRad View Post

So all in all nVidia Inspector allows more fine tuning of settings than possible in the regular nVidia drivers control panel, even though the major options (AF, AA, occlusion) are the same between the two applications, correct?
NVIDIA Control Panel doesn't have a "High Quality" ambient occlusion setting. I forget if it even has the on/off setting, since some games have a driver profile that disables it by default.

Inspector has much more AA settings. Probably double at least. Full screen SGSSAA isn't possible via Control Panel I believe. Originally NVIDIA meant to only include transparency SGSSAA, but an oversight allowed users to apply it to the whole scene and then NVIDIA took it away for some reason. Inspector adds it back. Many of the OGSSAA/HSAA options are exclusive to Inspector.
 

·
Quad Core? Quad Damage!
Joined
·
684 Posts
Thanks, figured some options were missing.

So between the regular Control Settings Panel, Inspector and GeForce Experience, we have all we need to get the games running as we want.
 

·
PC Gaming 1337 Enforcer
Joined
·
14,431 Posts
Discussion Starter #12
Quote:
Originally Posted by XenoRad View Post

Thanks, figured some options were missing.

So between the regular Control Settings Panel, Inspector and GeForce Experience, we have all we need to get the games running as we want.
GeForce Experience isn't even needed. I'd say, between in-game settings, NVIDIA Inspector, and ReShade, we have so much flexibility over our games to make them look and run how we want. These things are major benefits of PC gaming.
 

·
Premium Member
Joined
·
6,457 Posts
Just want to point out that SMAA can look pretty good if it uses the previous frames and/or the depth buffer as well (as ReShade can). Most in-engine post processing doesn't. But at that point, you mind as well use hardware AA if you can.
 

·
PC Gaming 1337 Enforcer
Joined
·
14,431 Posts
Discussion Starter #15
Quote:
Originally Posted by brucethemoose View Post

Just want to point out that SMAA can look pretty good if it uses the previous frames and/or the depth buffer as well (as ReShade can). Most in-engine post processing doesn't. But at that point, you mind as well use hardware AA if you can.
I've tried these more advanced ReShade SMAA settings in S.T.A.L.K.E.R. but never got a pleasing result. Which games show it off better?
 

·
Premium Member
Joined
·
6,457 Posts
Quote:
Originally Posted by boredgunner View Post

Quote:
Originally Posted by brucethemoose View Post

Just want to point out that SMAA can look pretty good if it uses the previous frames and/or the depth buffer as well (as ReShade can). Most in-engine post processing doesn't. But at that point, you mind as well use hardware AA if you can.
I've tried these more advanced ReShade SMAA settings in S.T.A.L.K.E.R. but never got a pleasing result. Which games show it off better?
I liked it in Skyrim and ME2/ME3 (without the temporal aspect), but admittedly I was using it to avoid the performance hit of MSAA.

It didn't look good in KOTOR I/II compared to hardware AA.

ReShade just works with the rendered image + its depth buffer, while hardware AA deals with in-game geometry. So, I think hardware AA has a big advantage in older games, where the performance hit is relatively small. ReShade has a performance hit that's not really tied to the complexity of the game, so it seems to have an advantage in newer titles.
 

·
PC Gaming 1337 Enforcer
Joined
·
14,431 Posts
Discussion Starter #17
I'll try it in ME2 and/or ME3, maybe even post some comparison pics with the ones already here. MSAA is a disaster in those games due to deferred rendering, but it's easy to run them with supersampling (I was doing so on a GTX 680).
 

·
Premium Member
Joined
·
6,457 Posts
Quote:
Originally Posted by boredgunner View Post

I'll try it in ME2 and/or ME3, maybe even post some comparison pics with the ones already here. MSAA is a disaster in those games due to deferred rendering, but it's easy to run them with supersampling (I was doing so on a GTX 680).
Yeah, I noticed that too. There were waaaay more aliased edges with pure hardware AA than there should've been.

In fact, I might've used a combo of 2x MSAA and SMAA for ME2, as I couldn't quite maintain the framerates I wanted with supersampling. I'll roughly follow this guide and try downsampling if I ever replay it.

Also I'd post my old ReShade SMAA settings, but my main rig is in another state atm
frown.gif
 

·
Registered
Joined
·
4,510 Posts
Why use negative LOD Bias with SGSSAA? I understand that it is only used to sharpen the image since SGSSAA blurs it, but wouldn't using LumaSharpen with Clamped LOD Bias make more sense?

EDIT: Just tried 8x SGSSAA with DA:O and it looks horrific... Super-blur, way different from what you got. Which AA Compatibility bits were you using? Does it not work better with 4x OGSSAA? Should in-game AA be disabled? I know NVidia Inspector selection Override is supposed to Override, but in my case with SGSSAA 8x it did not and without 8x in-game MSAA enabled, AA was not properly applying...
 

·
PC Gaming 1337 Enforcer
Joined
·
14,431 Posts
Discussion Starter #20
Quote:
Originally Posted by MonarchX View Post

Why use negative LOD Bias with SGSSAA? I understand that it is only used to sharpen the image since SGSSAA blurs it, but wouldn't using LumaSharpen with Clamped LOD Bias make more sense?

EDIT: Just tried 8x SGSSAA with DA:O and it looks horrific... Super-blur, way different from what you got. Which AA Compatibility bits were you using? Does it not work better with 4x OGSSAA? Should in-game AA be disabled? I know NVidia Inspector selection Override is supposed to Override, but in my case with SGSSAA 8x it did not and without 8x in-game MSAA enabled, AA was not properly applying...
You can use LumaSharpen as well, it is a bit different. By lowering the LOD bias you moves the mip map levels further away resulting in sharper textures. Normally this causes shimmering but if you use the LOD bias values provided in the OP, you won't get any more texture shimmering than with no SSAA + 0.0 LOD bias. It's a freebie visual improvement. More details here:

http://naturalviolence.webs.com/sgssaa.htm

I use these bits for DA:O - 0x004010C0

SGSSAA looked better for me than OGSSAA but I don't remember the details why. In-game AA should be disabled just in case, since as you suggested it might have messed with it. I get horrific blurring too if I don't use Dragon Age - Lighting Enhanced mod (DALE Neutral Preset shown in my screenshots). It is the SweetFX (LumaSharpen like you said) that removes the horrendous blur.
 
1 - 20 of 29 Posts
Top