Software anti aliasing or GPU?

Discussion in 'General Discussion' started by gp20, Jan 13, 2016.

  1. gp20

    gp20 Well-Known Member

    Joined:
    May 28, 2015
    Ratings:
    +53 / 0 / -0
    What is the best?
    Which one eat less fps?
     
  2. le_poilu

    le_poilu Well-Known Member

    Joined:
    Jan 30, 2015
    Ratings:
    +278 / 0 / -0
    AFAIK There is no such thing as "software" anti-aliaising.

    It's always something done by the GPU in a matter or an other, just because it's something you cannot do before any GPU computing. You need the frame to be rendered.
     
  3. CG

    CG Topological Agitator Beta tester

    Joined:
    Apr 8, 2015
    Ratings:
    +2,435 / 0 / -0
    I guess he means setting it in the software, i.e. game, or forcing it through the gpu's driver.
    I read quite a lot about this, and the most people who know what they are talking about seem to agree that forcing AA through the driver is primarily for aa-ing games that don't have AA in the first place, mostly old titles. If a game comes with an AA setting, it's adviced to use the in-game setting and not force it cause this often results in conflicts.

    However, in most games the AA method (multisampling, adaptive ms, supersampling and all their variations) can not be chose in-game and has to be set via the driver.
     
    • Agree Agree x 1
    • Informative Informative x 1
  4. MsportDan

    MsportDan Guest

    Ratings:
    +0 / 0 / -0
    one thing i will credit s3 is, on the optimisation of this game... any track full grid, x4 aa and ultra settings 60s fps on a gtx970.. (reflection to low though as smoother)

    pretty impressive.
     
    • Agree Agree x 1
  5. Ho3n3r

    Ho3n3r Member

    Joined:
    Dec 22, 2015
    Ratings:
    +11 / 0 / -0
    I prefer DSR combined with turning off normal AA.
     
  6. CG

    CG Topological Agitator Beta tester

    Joined:
    Apr 8, 2015
    Ratings:
    +2,435 / 0 / -0
    Well, Dynamic Super Resolution is what we oldtimers used to call supersampling, or downsampling, and it's the mother of all AA methods. You're right, it definitly gives the best results by far and it can make regular AA (in-game setting) unnecessary, if one can afford to enable it.
    May I ask what gpu you have? ;) Cause this is very taxing.
     
  7. le_poilu

    le_poilu Well-Known Member

    Joined:
    Jan 30, 2015
    Ratings:
    +278 / 0 / -0
    I prefer having the super resolution at all :D


    I have a 21:9 34" running 3440x1440 since few weeks, AA is almost unnecessary at this resolution (I also need to cut it off because my old 660 Ti stuggle to render any AA at this resolution :rolleyes: )
     
  8. MsportDan

    MsportDan Guest

    Ratings:
    +0 / 0 / -0
    i have an ultra wide monitor dont they look cool in sims!!
     
  9. gp20

    gp20 Well-Known Member

    Joined:
    May 28, 2015
    Ratings:
    +53 / 0 / -0
    Do you know the difference between a DSP and a software? Your GPU is a DSP.
    That's what i mean and it probably makes sense because i read a paper which advices to use software AA instead of GPU AA when possible, and it's not logical.
    An electronic circuit is always faster than the corresponding code. That's the reason of DSP's.
     
  10. gp20

    gp20 Well-Known Member

    Joined:
    May 28, 2015
    Ratings:
    +53 / 0 / -0
    Perhaps because they are two different things. Software routines and DSP routines.
    In Pcars there is one DX2 setting which is a custom one made by SMS. Does it mean that the others are traditionnal algorythmes?
     
  11. le_poilu

    le_poilu Well-Known Member

    Joined:
    Jan 30, 2015
    Ratings:
    +278 / 0 / -0
    Oh yeah !!


    I really don't get what you mean here ...

    True "software AA" would be too much a hit in performance. I would need the data to go back and forth between the GPU (witch render the frame), and the CPU for it to apply any AA on the Frame the GPU is rendering. You'll lost a LOT of frame rate doing so. It would be a huge back in time when GPU didn't exist.

    GPU are made for this. I thing what you call" software" AA is more about the "generic AA" against AA designed by GPU makers for their own GPU (like CFAA or CSAA, etc )
    But here it mostly depends on what the game support, and what you can activate in regards of the GPU you have giving the performance goal.
     
  12. le_poilu

    le_poilu Well-Known Member

    Joined:
    Jan 30, 2015
    Ratings:
    +278 / 0 / -0
    BTW : if you start to dig into it you'll find that AA is a really complexe thing... There's not "one better solution" because they're all a matter of compromise in regards of you're GPU, the game itself, the resolution you're running the game, the visual quality you're looking for at what performance cost.
    Somes may don't like the "blury" effect of a AA, other prefer most FPS, some don't care about the performance hit, etc ..
    Some GPU handle some kind of AA better than other, if you're running 4k it's not the same as 1080p... etc etc
     
  13. CG

    CG Topological Agitator Beta tester

    Joined:
    Apr 8, 2015
    Ratings:
    +2,435 / 0 / -0
    I think the confusion lies in the names and the methods those imply. AA is always carried out by the gpu. DSP/supersampling/downsampling is the oldest, simplest and most resource hungry form of AA. It simply calculates more pixels than your monitor can display and then presses those into the resolution your monitor can display. Result: smoother edges on all objects being displayed.

    But as it is very taxing the developers tried to come up with less demanding sollutions, like MSAA and adaptive forms of it that also apply to transparent textures. Those methods only look at certain parts of a picture (texture edges) and smoothen those by doing more calculations for those areas. In a simplified way it is also supersampling, but it only applies to certain areas of a picture instead of the whole picture as DSP/SSAA/downsampling does. It does need less gpu power, but it doesn't look as nice as downsampling.

    If your gpu can handle it then DSP/SSAA/downsampling will always give the best results. If it can't you can go for MSAA. If even that is too demanding for a gpu you can use post-processing AA methods like FXAA or AMD's morphologic filter, but they just blur the picture to make it appear smoother.
     
    Last edited: Jan 13, 2016
  14. le_poilu

    le_poilu Well-Known Member

    Joined:
    Jan 30, 2015
    Ratings:
    +278 / 0 / -0
    Don't forget Temporal AA :rolleyes:
     
    • Funny Funny x 1
  15. pixeljetstream

    pixeljetstream Well-Known Member Beta tester

    Joined:
    Jan 29, 2015
    Ratings:
    +416 / 0 / -0
    "software AA" in rendering is what @Christian Göpfert mentioned under post-processing AA methods. FXAA, Temporal AA, lots of algorithms... software means the developers use custom shaders to pull it off, it's not really about involving CPU.

    The alternative is the hardware AA that is "in silicon" (not using shaders but fixed function units in hardware) which is MSAA. Even for super-sampling shaders are often used to do the actual downsampling and weighting of the high-res input.

    MSAA can only anti-alias polygon edges, while the software approaches can anti-alias "shading edges" (think shiny sparkles on metal grid...). The latter is therefore predominantly used in games today where we have a lot of material detail and more complex lighting because we are close to "small details".

    In a racing game the only thing we are really close to is the interior. Other structures are fairly big and the polygon detail, rather than the fine material details dominate, also cars typically have a lot of smooth surfaces, or the polygon edges are sufficient for shape. The situation changes for something like wet tarmac, shiny pebbles... where the "on-surface" lighting effects become more complex and prone to aliasing.

    Am a big fan of downsampling "older" games as well, as it often improves foliage rendering and especially older deferred shading titles benefit a lot from it. Modern games typically have native support for that or other software solutions.

    had posted here
    https://forum.sector3studios.com/in...figuration-graphics-card.189/page-2#post-4896
     
    • Like Like x 1
    • Informative Informative x 1
  16. le_poilu

    le_poilu Well-Known Member

    Joined:
    Jan 30, 2015
    Ratings:
    +278 / 0 / -0
    I don't think there is anymore silicon bits dedicated to AA in modern GPU. Since DX10/dx11 gen they tend to be more on the general purpose than specified task.

    All the computation can be done by what we used to call "shaders" back in the day of dx9/dx10...
    Shaders were fixed units, that can't do nothing else that what they were develop too. Now GPU use more general units (small and simpler units but a LOT of them !) that can be used for almost anything.
     
  17. James Cook

    James Cook Well-Known Member

    Joined:
    Jan 30, 2015
    Ratings:
    +1,010 / 0 / -0
    I always use the in-game AA setting with R3E, running 8xMSAA quite happily and the game looks good. I'm a little surprised at the lack of an anisotropic filtering option, not that the game looks worse without it. I guess this process is taken care of under the hood.

    I've tried DSR and various Nvidia Inspector settings and the cost/benefit isn't substantial enough over in-game 8xMSAA to persevere with (imo). DSR looks great but it's not worth having to turn down graphics settings to achieve a steady 60fps.

    With games like rF2 and SCE I find myself turning to driver AA solutions. These both have AA 'levels' which are not explained at all and I don't find the results particularly satisfactory either. With both titles I have found Nvidia Inspector's 8xS setting to provide nice results without being a massive drain on performance.
     
  18. CG

    CG Topological Agitator Beta tester

    Joined:
    Apr 8, 2015
    Ratings:
    +2,435 / 0 / -0
    My assumption aswell, but I'd also like a manual option, if only to see the difference it makes.
     
    • Agree Agree x 1
  19. Not Lifting Off

    Not Lifting Off Well-Known Member

    Joined:
    Dec 5, 2015
    Ratings:
    +368 / 0 / -0
    Last edited: Jan 13, 2016
  20. pixeljetstream

    pixeljetstream Well-Known Member Beta tester

    Joined:
    Jan 29, 2015
    Ratings:
    +416 / 0 / -0
    The hardware still computes things like coverage masks (which is what MSAA is about), there is per-sample depth-testing in the raster output stage... Now even as you rightly say the programmability improved, there is still a lot of fixed-function units in the hardware. It is not like the whole pipeline is written in software. In this article here are some details on how the GPU processes a draw call https://developer.nvidia.com/content/life-triangle-nvidias-logical-pipeline and I happen to be the author of that ;)

    General purpose means some unit in the hardware has to decode the instructions, and tell those hardware units that can execute something (say a multiplication) to do it, it also means it has to instruct other units to take care of the memory being passed around, registers filled... so you will loose time to orchestrate all that.
    While a fixed-function unit just "does something", no interpretation, no generic memory handling. It consumes some "bits" and outputs some bits in a fixed (minimal) amount of clock cycles. It is literally putting code into some wires.

    Why can a smartphone with a few watts play back a HD stream better than some old high-end PCs? Because the full algorithm to decode the video is in silicon, while your old PC lacking this, actually has to compute things in "software".

    And for the rasterization pipeline as it's standardized, there is many small tasks that are much better handled with this principle, rather than doing it in a general purpose way. That is also why there is only a fixed set of shaders that people can write, and how they interact is well defined. A graphics programmer doesn't have to write the actual triangle rasterization himself or the interpolation of values on the triangle... the hardware does it for him.

    hopefully did't sound too "lecturing"
     
    • Useful Useful x 1
    Last edited: Jan 13, 2016