Fxaa on and aa? Pick 1!!

Discussion in 'General Discussion' started by Spinelli, Apr 16, 2012.

  1. Spinelli

    Spinelli Banned

    Joined:
    Jan 28, 2012
    Messages:
    5,290
    Likes Received:
    32
    It seems people over and over keep turning on fxaa AND regular aa aka msaa (multisample anti aliasing), im trying to explain to people that fxaa and ati/amd's version MLAA are meant to be ALTERNATIVES to regular aa, not something added on top of it. It's supposed to help with frames when regular aa hurts fps too much or help with image quality in games where aa doesnt seem to work well (ex. Borderlands) and super sampling isnt a realistic option as most of the time it kills fps too much.

    "The other AA method is a post-processing filter known as MLAA. This method works with all games and inconjunction with all the other standard AA modes but MLAA can lead to excessive blurring. AS such it should only really be used when a game doesn't support standard AA modes."

    I use MLAA in Borderlands where the AA wether I set it in control panel or ingame seems to suck and not apply to lots of objects. This is a perfect example where you would use MLAA because the regular aa doesnt work that great for that game so since MLAA is just a post processing filter it gets applied to the entire screen no matter what, on any game period and works well here, but you can tell it blurs the entire screen rather then just getting rid of jaggies on edges/lines...

    I was experimenting with using it on crysis as a cheap way to get some aa but it just made objects/textures too blurry (although the blurriness did have a nice side effect of making all the vegetation look thicker/fuller). I reverted back to the much sharper and less jaggedy 8x aa for that game but obviosuly my frames where wayyy lower with 8x. Like I said though it works good for borderlands where it seems regular aa sucks in any mode (except super sampling obvisouly but that destroys frames)

    The only other option I could use in borderlands is super sampling but we all know that decreases frames 10 fold






    NVIDIA’s FXAA Technology

    FXAA stands for Fast Approximate Anti-Aliasing. It does exactly what it sounds like. It is a higher-performance approximation of the effects of traditional Multi-Sampling Anti-Aliasing. It is a single-pass pixel shader which runs in the post-processing stage of the target game’s rendering pipeline. IT IS DESIGNED TO BE FASTER, AND HAVE A SMALLER MEMORY FOOTPRINT, THAN TRADITIONAL MSAA, BUT WITH SOME COMPROMISES IN PRESICION AND QUALITY.

    FXAA also has advantages, including the reduction of specular aliasing and sub-pixel aliasing (aliasing that happens when surfaces are rendered smaller than a single pixel, which makes them flicker). In his whitepaper (PDF) at developer.nvidia.com, FXAA creator Timothy Lottes claims that the cost to process a single 1920x1200 from on an NVIDIA GeForce GTX 480 is under one millisecond for FXAA preset 2, which stands in the middle of the technology’s performance/quality compromise.

    The whitepaper lists these four items as initial bullet points:

    1. Reduces visible aliasing while maintaining sharpness and keeping within a practical ms/frame cost for a typical game engine. Cost to process a 1920x1200 frame on GTX480 is under 1ms for FXAA preset 2.

    2. Targets aliasing both on triangle edges and in shader results. FXAA has logic to reduce single-pixel and sub-pixel aliasing: see the reduction in stipple aliasing in the jittered sampling shadow area in Figure 1

    3. Is easy to integrate into a single pixel shader. FXAA runs as a single-pass filter on a single-sample color image. FXAA can provide a memory advantage over MSAA, especially on stereo and multi-display render targets or back buffers.

    4. Can provide a performance advantage for deferred rendering over using MSAA and shading multiple samples.


    An important aspect of FXAA to note is that it is compatible with NVIDIA and AMD GPUs. In his blog, Mr. Lottes answers the "Why FXAA?" question with the following:

    Wanted something which handles sub-pixel aliasing better than MLAA, something which didn't require compute, something which runs on DX9 level hardware, and something which runs in a single full-screen pixel shader pass. Basically the simplest and easiest thing to integrate and use.

    So does FXAA use DirectCompute? No, FXAA is just a post-processing shader. It is independent of any GPU Compute API, which was Lottes goal. FXAA IS TO BE AN EFFICIENT ALTERNATIVE TO TRADITIONAL ANTI-ALIASING WHERE MSAA IS EITHER IMPRACTICAL (TOO COSTLY) OR INEFFECTIVE (SHADER ALIASING) while having broad compatibility and simple integration. While we can neither speculate nor comment on the ease of integration, we can measure performance and examine image quality.

    It's not entirely that simple though. There are currently three versions of FXAA in the wild, and it can be customized quite extensively. We reached out to NVIDIA for more information, and Mr. Lottes responded to us with this information:

    FXAA image quality and performance will vary from title to title.

    FXAA is different in that unlike 4xMSAA and other hardware techniques, FXAA is a shader which gets adapted differently by each developer when FXAA is integrated into a title. The developer has full control over the trade-off between sharpness, reduction of aliasing, and performance. Some developers might prefer more aliasing to enhance the feeling of sharpness, other developers might prefer a higher reduction in aliasing which might be perceived being softer on still images.

    What makes FXAA unique over techniques like MLAA is that FXAA has special logic to reduce the contrast of single-pixel and sub-pixel sized features that would otherwise be much more visually distracting without hardware AA. For example, single-pixel sized features alias by snapping from pixel to pixel, and sub-pixel sized features alias by flickering on and off as they overlap a pixel's center. Like other aspects of FXAA, the developer has full control as to how much of this contrast reduction to include in the title.








    In case you didnt read it all ill point out these 2 points above.

    1. FXAA IS DESIGNED TO BE FASTER, AND HAVE A SMALLER MEMORY FOOTPRINT, THAN TRADITIONAL MSAA, BUT WITH SOME COMPROMISES IN PRESICION AND QUALITY.

    2. FXAA IS TO BE AN EFFICIENT ALTERNATIVE TO TRADITIONAL ANTI-ALIASING WHERE MSAA IS EITHER IMPRACTICAL (TOO COSTLY) OR INEFFECTIVE (SHADER ALIASING)
     
    Last edited by a moderator: Apr 16, 2012
    1 person likes this.
  2. 1959nikos

    1959nikos Registered

    Joined:
    Mar 26, 2012
    Messages:
    3,915
    Likes Received:
    83
    Very interesting post,cannot really understand much im afraid.
    What i would really appreciate, a thorough tutorial about settings cause there are settings everywhere!!!
    Settings in my GForce 9800 GT, video settings before you enter game, display settings ingame.Impossible for me to handle all this.
    So, could you kind and knowledgeable people clear all this to us (me) ignorant?
    thnx nikos
     
  3. elcoco

    elcoco Registered

    Joined:
    Dec 23, 2011
    Messages:
    130
    Likes Received:
    8
    +1:)
     
  4. modmate

    modmate Registered

    Joined:
    Jan 10, 2012
    Messages:
    217
    Likes Received:
    6
    Well, interseting yes but not 100% correct here. The AA Transparency options Multisampling and supersampling are seperate and choosen on top of you AA settings. For my understandings and experience with Fxaa in the last year it acts like the Transparency option and therfore can be used for sure with AA. With the new Nvidia driver and Fxaa option its working even better than with all the injectors before. Played GTR EVO yesterday with 32XCSAA ,HQ Textures enabled and FXAA enabled in Nvidia CP. Its looking way better now .

    But anyway , since RF2 got Fxaa buid in now Nvidias wont work. I hope ISI will skip that Fxaa and leave it to Nvidia, that would be much better.
     
  5. buddhatree

    buddhatree Registered

    Joined:
    Dec 22, 2011
    Messages:
    1,700
    Likes Received:
    249
    Yes, modmate is correct.

    FXAA can be used with other forms of AA. You don't have to pick just one.

    It even states so right in the NvCP.

    In fact, it works quite well as a combination with other forms of AA.

    Straight from the Nvidia Control Panel:

     
    Last edited by a moderator: Apr 16, 2012
  6. Cleverleyson

    Cleverleyson Registered

    Joined:
    Jan 16, 2012
    Messages:
    234
    Likes Received:
    2
    In Bf3 you are able to have both native AA and post processs AA.....meaning you can infact have both.
    But i could never work out if having both on was worthwhile.
    [​IMG]
     
  7. Spinelli

    Spinelli Banned

    Joined:
    Jan 28, 2012
    Messages:
    5,290
    Likes Received:
    32
    My post clearly states you can use both you guys should read properly, but it is almost pointless, read guys, that's straight from nvidia and that guy the invented fxaa with nvidia

    2. Yes you should always have adaptive aa (amd/ati) transparency aa (nvidia) to on and its highest quality version, in rf1 I could set the game to even 32aa and the fences would still look brutal however as soon as I turned on adaptive aa (and in quality mode not performance mode) then the fences had proper aa applied to them even if the aa setting was just at 4 or 8 times. So yes you should always have adaptive aa (amd/ati) transparency aa (nvidia) to on and its highest quality version regardless of game no matter what and even if your aa is pplication controlled...

    anyways fxaa is a way to replace 4 ish times aa as a less costly way fps wise or if the game doesn't support aa that well (like borderlands) but it can induce texture blur especially if set from the control panel like mlaa rather than being built from the game developer ingame
     
  8. modmate

    modmate Registered

    Joined:
    Jan 10, 2012
    Messages:
    217
    Likes Received:
    6
    Hi,

    Well you`ve said before:

    and thats not true cause Fxaa is added on top of regular AA. Its a alternative to the MSAA and SSAA (Nvidias Transpareny setting) wich is surely added on top of the regular AA settings . And it also have a huge effect in certain games out there, for example Battlefield 3 , just cause i see it right here. The Fxaa Injector released by Danok pushes the gamegraphics into another dimension and that on top of AA You may google that if you like to see screens.

    Anyway, the latest nvidia drivers with build in Fxaa works great on nearly all games with no build in Fxaa. I pray to ISI to cut off their build in fxaa to concentrate on more interesting things. Nvidias Fxaa is great and well, honestly better then rf2`s is.
    I will look if i have a older Rf2 build somewhere left to see how it could look with NV fxaa. Would be interesting.
     
  9. taufikp

    taufikp Registered

    Joined:
    Nov 14, 2010
    Messages:
    609
    Likes Received:
    16
    modmate, not all people use NVidia ;) throwing away FXAA from rFactor2 will hurt others.

    I'm using ATI HD5770, and I found that using rFactor2's internal AA and FXAA method give me good result, in terms of performance and quality. Using ATI's AA and rFactor2's FXAA also give me the same result, good balance between performance and quality.

    Too bad at the moment ATI still does not have FXAA as part of their driver AA strategy (licensing problem?). ATI's Morphological AA (MLAA) is not that good. MLAA produces too blurry images and it also eats FPS too much (again, this is happening in my system, your mileage may vary). At the moment, FXAA, in the form of injection AA method (such as FXAA Injector) or in-game AA method, is still better than ATI's MLAA in terms of performance and quality.

    In my opinion, rF2 FXAA should be kept intact 'cause it clearly helps and shows good result. This also give us an option to choose: do we want to use internal FXAA or external FXAA (from GPU driver or injector). I like options. :D
     
  10. Racefreak1976

    Racefreak1976 Registered

    Joined:
    Apr 16, 2012
    Messages:
    1,085
    Likes Received:
    63
    Sorry if I'm asking obvious questions here, but I'm no technical genius like some of you guys.
    Does all this mean, I should turn off fxaa inside rF2 when using a nvidia card? Unfortunately, I cannot show a screenshot of my settings here because I'm at work right now. I got everything maxed out and it runs perfectly. But after reading this, I'm asking myself if there is something I could do to get even better results, graphics-wise.

    Racefreak
     
  11. Spinelli

    Spinelli Banned

    Joined:
    Jan 28, 2012
    Messages:
    5,290
    Likes Received:
    32
    MSAA IS regular aa your getting confused. Regular aa can be either MSAA or the adaptive version whatever nvidia and amd call their versions. MSAA isnt added on top of regular aa, it IS regular aa. When you turn on regular aa you choose if you want the regular plain old version called MSAA (multi sample) or if you want the adpative/transparency version (which I believe should always be on no matter what as opposed to regular old school msaa, but i also heard that things are handled different in dx 10/11 games and turning on adaptive aa only effects dx9, but that could be wrong and is a different subject altogether).
     
  12. taufikp

    taufikp Registered

    Joined:
    Nov 14, 2010
    Messages:
    609
    Likes Received:
    16
    RaceFreak1976, To get the best result, you need to do your own experiment. Try the combination of all of them. It's a quite long process, but once you get the best combo, it's very satisfying.
     
  13. Spinelli

    Spinelli Banned

    Joined:
    Jan 28, 2012
    Messages:
    5,290
    Likes Received:
    32
    Your 100% right, and if you got a crazy machine and you dont notice any image quality loss than sure why not go ahead and turn fxaa and all aa settings to on/max, but there are so many people complaining about frames, and apart from the fact that the game is clearly not optimized I was just trying to get the point across to ppl to try either fxaa on its own or regular aa (with adaptive/transparency on of course :) ) on its own as most people might not notice a difference between 4 or 8x aa on its own and fxaa on its own, so unless you got a monster machine and can cleary see an improvement when turning both to on i would go with either or as thats what fxaa and amd's mlaa where really intended for in the first place :)
     
  14. Racefreak1976

    Racefreak1976 Registered

    Joined:
    Apr 16, 2012
    Messages:
    1,085
    Likes Received:
    63
    Hey guys,

    I bought this machine in January and it wasn't cheap, I can tell you that! So it better be a monster machine :D
     
  15. modmate

    modmate Registered

    Joined:
    Jan 10, 2012
    Messages:
    217
    Likes Received:
    6
    Well, maybe regular was the wrong word here BUT just if you are a Nvidia User you will setup you AA first in CP and then to get more AA to Transparent objects (fences and stuff also affected) you will add the AA Transparency on top of it wich is for Nvidia Users MSAA and SSAA. Fxaa does exactly the same but not that Fps affecting like the MSAA and SSAA.
    Anyway, the first known Fxaa Injector could do much more then just that, you got tons of options to get the best image quality.
    See this pic and imagine what could be done if ISI is going of their own Fxaa:

    View attachment 2018

    @taufkp

    I will do a screenshot with an older build of rf2 without the fxaa build in. I will use either the injector or nvidias option to see the difference. Will do it tonight after work.
     
  16. taufikp

    taufikp Registered

    Joined:
    Nov 14, 2010
    Messages:
    609
    Likes Received:
    16
    Thanks modmate. Btw here's my video of rFactor build 49 with FXAA injector (video was created on Jan 25th). Other AA strategy is not used, only FXAA Injector.



    But still I think it's best for rFactor2 to have FXAA as in-game anti-aliasing option as well. I don't think ATI will put FXAA as part of their internal (driver) AA strategy anytime soon.
     
    Last edited by a moderator: Apr 17, 2012
  17. Spinelli

    Spinelli Banned

    Joined:
    Jan 28, 2012
    Messages:
    5,290
    Likes Received:
    32
    "FXAA happens after the image is rendered i think, so it only softens the pictures to make jaggies go away, a post processing filter, but normal AA will be while the image renders and sucks up more performance cuz it actually smooths the jaggies instead of filtering the image. It was basically created for extremely underpowered GPUs such as those on consoles to compensate for their inability to perform even low level AA."

    You guys should really do research, I looked at forums of 2 of the biggest games around, Battlefield 3 and Skyrim (as well as information on my first post above straight from NVidia themselves and the guy who pretty much invented/developed FXAA) and almost everyone is saying the same thing, use FXAA if your graphics card cant handle 4x or more aa, as the FXAA barley affects frames and is meant to compete with 2x aa and 4xaa, but its a post processing filter and can blur the image.

    Sometimes FXAA works good and doesnt blur much or not enough to be noticable and sometimes it seems to get rid of jaggies better than 2x or even 4x, in those instances I would use FXAA as it'll hit your frames wayyyy less than 4x aa.

    Now, there are some instances when aa doesnt get applied to certain textures on screen and sometimes using FXAA can clean those textures up that would be the only reason to use both.

    Read up on it, im not trying to start a fight but rather inform people as I see too many people with fps problems and I notice that so many of them have FXAA with aa on aswell....



    - "I've been using the FXAA injector for months with no issues, but I'm sure there's always a risk. Personally I use 4x MSAA now that I have a GTX 680 that can handle it, no FXAA because I hate the damn blur. Feels so good to not need FXAA anymore, like a really bad screen filter's been taken off (even coming from Medium)."

    - "If you do want to use the in-game FXAA, only use it on Low or Medium (I prefer medium). High is too blurry, but medium gives you pretty much the same antialiasing without nearly as much blurring."

    -"Compared to 2X AA, FXAA is uniformly superior. Compared to 4X AA, there are some I Q trade-offs, but the performance advantage that FXAA offers gives FXAA the advantage. In some areas, 4X AA offered slightly superior image quality, and in other areas FXAA is better."

    Even though 4X AA offers slightly better hard edge aliasing reduction than FXAA, we still think FXAA is a better option in most circumstances. For starters, shader aliasing is reduced by FXAA but not MSAA. Alpha texture aliasing is reduced by FXAA, but not MSAA. Single-pixel aliasing is also reduced, as is sub-pixel aliasing. The flickering of very small objects or surfaces can be a big problem, and FXAA deals with it admirably while MSAA does not handle it at all."

    - "I hated it in skyrim, didn’t realise it was enabled first time I played it. Needless to say I got quite a surprise when everything became sharper and clearer upon turning it off and bumping up normal AA."

    - "I’ve done screenshot tests and so have many other people placed their opinion on personal experience. Do a AA vs. FXAA comparision and you will see the texture quality has decreased, as in with the FXAA blurriness usual complainment. It is a fact it causes bluriness, and most people do not like deteriorating texture quality. FXAA not only affects the edges or jaggies, but the texture in the middle of the model with a blurring effect."

    - "some people talk about fxaa as if it's like looking through frosted glass. just don't see it myself - what i do see is great anti-aliasing (better than MSAA in some ways) with almost zero performance hit"



    As you guys can see from some examples sometimes FXAA wins in image quality sometimes 4x aa wins, (FXAA will pretty much always win by a fair margin though in regards to which affects fps the least). You can clearly see that FXAA is made as an alternative to aa.
     
    Last edited by a moderator: Apr 17, 2012
  18. modmate

    modmate Registered

    Joined:
    Jan 10, 2012
    Messages:
    217
    Likes Received:
    6
    Yes, i remember that vid. Doesnt that looks tons better then the ingame Fxaa now, and please be honest.
    With the injector we get much more options wich would be needed also for the HDR.
    If the ingame Fxaa and HDR get more customizable it would be perfect. At least some sort of profiles is needed then.

    @spinelli

    As usual a Transparency AA on top of ingame AA setting will decrease your fps, but just not that much like with MSAA and SSAA. Anyway, i dont think we two get to the same point.

    Modmate
     
  19. Spinelli

    Spinelli Banned

    Joined:
    Jan 28, 2012
    Messages:
    5,290
    Likes Received:
    32
    Adaptive aa (along with its nvidia version called transparency aa or whatever nvidia calls it) should be enabled I agress with you 100%, that's not what fxaa aa is though, I don't know why you keep bringing that up I never even mentioned transparency settings, you really don't have any idea what fxaa is, its the nvidia alternative to mlaa, I don't know how much more I have to keep explaining it
     
  20. bigtabs

    bigtabs Registered

    Joined:
    Jan 12, 2012
    Messages:
    52
    Likes Received:
    0
    Please refer to the original thread on the subject (we don't really need two).
     

Share This Page