Jump to content

Welcome to the upgraded PCGamingWiki forums and files page. The current Wiki and Forum bridge is not functioning at the moment, therefore your Forum account currently has no password set. Please reset your Forum password via email check to generate a new password. If you have any issues please message Andytizer on Discord.

Blackbird

Anti-Aliasing article revamp

Recommended Posts

Should be prioritized.. what?

I meant to say, should be among the first thing to remove in case you want a performance boost.

I can't think of a single game, regardless of the hardware, where non-post-process AA isn't one of the most taxing graphical options.

 

Also, does ADAA still exist on modern AMD GPUs? I don't see it in Crimson.

Edited by DrCat

Share this post


Link to post
Share on other sites

I meant to say, should be among the first thing to remove in case you want a performance boost.

I can't think of a single game, regardless of the hardware, where non-post-process AA isn't one of the most taxing graphical options.

Yes, and it's exactly that "one of the most" the problem.

Sometimes it isn't (be it because in-game AA is pretty lightweight/optimized for some reason, be it because there are even more heavy effects) and I really hate to give inaccurate information.

 

I and blackbird managed to find a very good "wording fix" anyway.

Also, does ADAA still exist on modern AMD GPUs? I don't see it in Crimson.

It's called adaptive multisampling. And it's still there at least in 16.2.1

Share this post


Link to post
Share on other sites

Say hello to:

 

Last: should we mention analtyical anti-aliasing (AAA or AEAA)?

What about Rotated Grid (or rook?) and Ordered Grid SS ?

Is Quincunx supersampling or multisampling?

And is HSAA even a thing outside ot this guy?

 

Considering the list is becoming enormous.. I dunno, perhaps should we introduce some other criteria? And move it in a: "AA list/glossary" page?

Share this post


Link to post
Share on other sites

Maybe we should restrict the described AAs to those that are supported natively by at least and handful of games + those that can be forced in drivers, and put the rest in a "further reading" list or something of the sort.

Share this post


Link to post
Share on other sites

The whole list feels a bit cluttered to me, it could probably use some more hierarchy. Grouping those various methods by family would allow us to have broader descriptions for each of those families, whereas individual methods would only need to be compared to each other. Here's what I mean :

 

 

*Buffer sampling methods
** Color buffer
*** SSAA
*** QSAA (Nvidia)
*** SGSSAA/OGSSAA (Nvidia)
** Z/Stencil buffer
*** MSAA
** Coverage buffer
*** CSAA (Nvidia)
*** EQAA (AMD)
* Temporal methods
** MFAA (Nvidia)
** TXAA (Nvidia)
* Post-processing methods
** FXAA

** MLAA

** SMAA

** CMAA
* Hybrid methods
** HRAA
** HSAA

The article could then focus on comparing each one of those in a more meaningful manner instead of aimlessly trying to name every algorythm under the sun and leaving it at that.

What would you guys think?

Share this post


Link to post
Share on other sites

Guys read the first post again please. You're not paying attention. (mirh only edited due to us chatting about it)

Also that is way too technical. This is done for average PCGW user, not programmers.

Share this post


Link to post
Share on other sites

Guys read the first post again please. You're not paying attention. (mirh only edited due to us chatting about it)

Also that is way too technical. This is done for average PCGW user, not programmers.

I get that, but how is the average user supposed to figure out which one is better if the article skims over giving a brief explaination on what makes every method different? For all your average wiki-goer knows, the difference between all of these is the combination of letters before the "AA" part and that some of them only work on Nvidia cards. If you split them into families like that, you can say "Oh, EQAA a Cover-buffer samplig AA method, so it doesn't render everything at double the resolution but it at least checks for the edges of objects and uses that to blend those boundaries where it can. Now I know it's going to be far less taxing than MSAA. Thank you, PCGW!"

 

At the very least, you need to start explaining somewhere.

Share this post


Link to post
Share on other sites

You are right on the explaining part. This is something that needs to be done. The current info is mostly from the old page since getting info on some of the methods is harder than it seems. The stuff you mention should be also added to individual AAs. I am quite happy with how they are divided already. It's simple and straight-forward. Most gamers aren't as tech literate as you think. Post this on some PC Gaming subreddit and you'll realize this.

Share this post


Link to post
Share on other sites

You are right on the explaining part. This is something that needs to be done. The current info is mostly from the old page since getting info on some of the methods is harder than it seems. The stuff you mention should be also added to individual AAs. I am quite happy with how they are divided already. It's simple and straight-forward. Most gamers aren't as tech literate as you think. Post this on some PC Gaming subreddit and you'll realize this.

I'll always defend more hierarchised models, but I see where you're coming from. I'll probably try forking this article on my own personnal page over the next few days to see if I can get some sort of a preview going, to better show how I envision that article.

Share this post


Link to post
Share on other sites

(This post looks kinda weird seeing as I wrote a big thing, then I deleted everything as I summarized it so, whatever.)

 

TL:DR 2: Keep dis shit simpler, yo. Shit's too long too.

 

TL:DR: People shouldn't have to Google fancy words in order to understand how something works, use simple words and short sentences as much as you can.

If you have to look up an extremely techinical word (not just a common word or anything that can be deduced) then the explanation might not be that great.

 

Also my TL:DR is literally an example of how I summarized a ton of crap into something really simple. It could be shorter and better but, it still conveys the same message either way, and you didn't lose any useful info.

 

I don't know, just convey the important stuff with a bunch of easy words for the explanations. You've lost like the whole userbase by using the words "buffer" and "hierarchised models".

 

Try not to go too crazy with the categorization, right now this page is kinda pointless though, the wiki doesn't focus much on explaining stuff, and more on how to do stuff easily and quickly in a clear and simple manner, but any explanations should also follow that formula too. Short, to the point, extremely clear and so on. The page could use some instrutions on how to force some of these AA methods, there's not much point in explaining how an AA method works, if we literally have no use for it right now, but I guess having an explanation is a nice thing to have anyway?

 

I'm not saying that you shouldn't have your own take at it, but christ make it easy to read at least. We don't want to reach Wikipedia levels of unreadable. It's the same crap as with academical documents, people only write them that way just to feel better about themselves, but you end up wasting more time understanding the contents of the text instead of doing something better with your life, the author also has no idea what any of that crap he wrote back then even means anymore.

 

 

TL:DR 3: BIG WORDS BAD, SIMPLE AND CLEAR IS GOOD FOR UGA BOOGA LIKE ME.

Share this post


Link to post
Share on other sites

Description shouldn't be very much technical, and they isn't if you ask me (they could be a little shortened probably)

Actual mindblowing detail is linked in the reference.

 

Anyway, as I was saying above, indeed the list is too damn long.

And under these circumstances, I'd say ALL methods description should be moved in a separate page. Only for that. And there all the various MSAA, FSAA, HRAA... words in the wiki should point.

The improved hierarchy idea isn't bad.

 

"Vanilla" AA page, should then just talk about the phenomena itself, explaining the difference between traditional, postprocessing (and supersampling perhaps), offer a screenshot highlighting that, stop.

As per forcing, there's nothing special to say if you ask me.

 

It seems obvious, that where there's a performance margin for SSAA, that's undeniably the best choice.

Then there are all those variants of MSAA, be it a bit qualitatively or speed superior.

Last, post-processing.

 

I'm starting to think that, similarly to how we shouldn't mention particular vendors in AA page*, prolly we oughtn't even with specific implementations?

 

*= the ideal fixbox should say, along the lines "traditional/msaa/ssaa can only be forced through graphics card driver/control panel"

And a link to either this or this should be placed there.

 

 

subspoiler: I'm starting to question where we should explain graphics option in general: framerate, AF, gpu scaling.. general pages or graphics card control panels ones?

 

 

Share this post


Link to post
Share on other sites

Description shouldn't be very much technical, and they isn't if you ask me (they could be a little shortened probably)

Actual mindblowing detail is linked in the reference.

 

Anyway, as I was saying above, indeed the list is too damn long.

And under these circumstances, I'd say ALL methods description should be moved in a separate page. Only for that. And there all the various MSAA, FSAA, HRAA... words in the wiki should point.

The improved hierarchy idea isn't bad.

 

"Vanilla" AA page, should then just talk about the phenomena itself, explaining the difference between traditional, postprocessing (and supersampling perhaps), offer a screenshot highlighting that, stop.

As per forcing, there's nothing special to say if you ask me.

 

It seems obvious, that where there's a performance margin for SSAA, that's undeniably the best choice.

Then there are all those variants of MSAA, be it a bit qualitatively or speed superior.

Last, post-processing.

 

I'm starting to think that, similarly to how we shouldn't mention particular vendors in AA page*, prolly we oughtn't even with specific implementations?

The thing is that on the surface, most methods don't differ that much relative to each other aside from the general idea behind it (CSAA and EQAA are literally the exact same thing). If you make a page on each of those AA methods, you won't really have much to say beside stuff copy-parted from other articles about AA methods.

 

What we *could* do, however, is split this article into 3 separate one, to highlight the fact that Supersampling AA, Temporal AA and Post-Processing AA are utlimately unrelated to each other and can actually be used simultaneously.

Share this post


Link to post
Share on other sites

The thing is that on the surface, most methods don't differ that much relative to each other aside from the general idea behind it (CSAA and EQAA are literally the exact same thing).

Yes. And that's why I said above that probably, we shouldn't even mention single methods at all in the page (and perhaps I also mentioned this in some discussio with blackbird, forgetting to post back)

Think to the "mental process".

 

You know nothing. But you want to apply this AA thing to improve image quality.

What would be the first thing that you could try to do, in an ideal world? SSAA!

 

But that's usually (but totally NOT always) a performance killer.

So, only if that's a no go, you say "hey, try lighter traditional methods otherwise". And there you link GPU/AMD/NVIDIA/Intel page, because graphics driver is the only thing capable to do it, and one's choice is restricted by that.

 

Still not satisfied?

Talk about post processing methods.

If you make a page on each of those AA methods, you won't really have much to say beside stuff copy-parted from other articles about AA methods.

Mhh, I dunno. EVERY copy-pasta I ever read, heavily lacked in references.

And by the very nature of forums, once man got tired,everything stopped to get updated.

 

And, if you ask me, 2 or at most 3 "lines" (be it a negative, positive or info point) is still brief enough not to "bore".

 

Share this post


Link to post
Share on other sites

If more justification is needed for why have separate pages, I'll introduce a template for linking to them ( {{AA|form of AA}}, e.g. {{AA|MSAA}} ) and then add a list of games that use this or that form of AA to said subpages.

I'd rather he have 2 or 3 pages, one per "family" of AA methods, and have pages like "MSAA" or "FXAA" redirect to anchors on those pages. Like I said before, the differences between each family is generally minimal, meaning we can have more general explainations that apply to the family as a whole, then maybe add a few distinctions for each one of them, like vendor exclusivity, sample positionning, relative performance cost, etc.

 

Might be worth experimenting with info-boxes too, I get a feeling those could be well-suited to hold that kind of information in a concise manner.

 

EDIT : Also, if we're going to use sample images to show the difference between each AA method, it should probably be animated, otherwise we can't demonstrate Temporal AA methods, and aliasing tends to become noticeable on moving objects anyway.

Edited by Fifteen

Share this post


Link to post
Share on other sites
-

 

I honestly have no idea where this page is going, I was mostly waiting for them to do whatever they wanted to and then streamline it with what actually matters or is important to the wiki or for the user.

 

I really would rather avoid having multiple pages though, I really think it should be all kept in one page, otherwise it'll all get a bit too crazy. I would only split the pages if you really need to cover a ton of stuff, but from what I've seen right now there isn't much. I really don't know yet, I'll just let you all handle it.

Share this post


Link to post
Share on other sites

I'd rather he have 2 or 3 pages, one per "family" of AA methods, and have pages like "MSAA" or "FXAA" redirect to anchors on those pages. Like I said before, the differences between each family is generally minimal, meaning we can have more general explainations that apply to the family as a whole, then maybe add a few distinctions for each one of them, like vendor exclusivity, sample positionning, relative performance cost, etc.

Ehrm.. if you mean the "procedure to enable it", okay. It's not very different from what I was saying (again: in the hypothetical fixbox that goes from mentioning SSAA to fxaa, traditional AA should point to gpu page)

If you mean the "List" page.. ehrm, no I think your original hierarchy idea was more polished.

 

Also, another question for you experts: can we generally say that SMAA is *always* better than MLAA or FXAA ?

In which case we could quite much cut the BS.

 

 

 

(I read the last post since this is a quick reply - good job on being the last to post in here ;) )

You mean.. like always?

 

Share this post


Link to post
Share on other sites

Did you mean multisampling? I see no specific mention to SSAA.

 

There are the usual 3 families for everything I think people care.

Well, you can't arbitrarily sample parts of your scene and then blend the results together with deferred rendering because they're stored in a normal framebuffers that are composited together later on. Any of the fancier sampling patterns can only be used on single buffers at a time (Color, Depth+Stencil, etc.), but you'll have lost that information by the time it gets mixed with the others. From what I've read, that makes MSAA and CSAA almost impossible to pull off, which might be why Nvidia pulled the plug on CSAA with their Maxwell and Pascal architectures, why Temporal AA and Post-proc AA have been getting more and more attention as of recent years and why downsampling is making comeback lately even though it's technically inferior to proper spatial antialiasing.

Share this post


Link to post
Share on other sites

AA is a can of worms. Honestly, I could come up with a lot of ideas on how to deal with this page and article. (Notes about practical upsides and downsides to different techniques that are appreciable to the user)

 

Especially when it comes to forcing AA on Nvidia cards (NVCP is USELESS for this!) considering i've been managing http://forums.guru3d.com/showthread.php?t=357956 this thread's list for years.

(Super Sampling DOES work in Deferred lighting/rendering/shading when forcing. Even MSAA can be forced in Deferred games. Not all, but many)

 

Someone mentioned splitting up techniques by family, which is a good idea. Though some entries can be listed in multiple if they use multiple techniques, with a secondary description of why it's there.

Such as TXAA (Uses MSAA+custom resolve and temporal filter), SMAA S2x(Spatial Multisampling+SMAA1x),SMAA 4x(SMAA 1x+Spatial Multisampling+Temporal Multi+SuperSampling).

Such as.

 

*Hardware Multisampling

EQAA,CSAA,MSAA,TXAA

 

*Super Sampling

OGSSAA(Driver,DSR,VSR,custom resolutions,Resolution Scale in many games),SGSSAA,FSAA,RGSSAA

 

*Post Processing Anti Aliasing

MLAA,FXAA,SMAA1x,EdgeAA(Generic)

 

*Temporal Post Processing Anti Aliasing

UE4-TAA,Temporal-FXAA(Ethan Carter),SMAA T2x,SMAA 4x,TAA(Generic)

 

 

It would help to have a section for suggesting creative choices that involve combination of techniques, or in the case of DSR;Registry Editing or DSRTool for higher than 2x2 OGSSAA.

 

 

A big thing about AA though too, is that it varies very much game to game when it comes to stuff forced, creative hybrid solutions and even stuff built into the game.

One game's implementation of MSAA or OGSSAA might not be as good (Cough* Frostbite games *cough) as others. And the same goes for Temporal Solutions as well.

 

I've been meaning to turn the Nvidia Inspector page into a wiki like entry based on my thread here http://forums.guru3d.com/showthread.php?p=5183388 , but have not done so.

 

Another point, should only be adding information that is relevant to PC gaming. There are a lot of PPAA methods that aren't used on PC games, like HRAA or DLAA or a myriad of others.

Share this post


Link to post
Share on other sites

ELI5 why temporal post processing needs to be considered different?

 

And again, are we talking about separating/splitting [in sections] just the page about acronyms, or are we talking about the very noob-proof how-to in antialiasing page?

Because that should just be about "use supersampling if you can", otherwise MSAA and derived [link to gpu settings/drivers] if you can (meaning no bugs or slowness), otherwise -some- PPAA.

Which I'll ask again: is SMAA better than all the others?

 

 

Btw, HRAA is more than what you think. And by the very "nature" of code.. It's not like being developed on console is of any limitation.

This is why the table should just talk about AA, regardless of where it's implemented (as long as they are relevant).

 

Share this post


Link to post
Share on other sites

I'd say SMAA and CMAA are on par in terms of quality, but given how rarely CMAA is used I don't think it would be wrong to simply say "use SMAA whenever you can, whenever post-rocess AA is the only solution". Then we could link to injectSMAA, which is very handy.

Share this post


Link to post
Share on other sites

Interesting.

But correct me if I'm wrong.. CMAA is not forceable anywhere. Either is supported by game, or not.

So.. in the hypothetic noob fixbox.. I wonder if we could just mention, in the end: SSAA, MSAA -with links to gpu- and SMAA.

 

 

Assuming of course somebody doesn't consider SMAA 1x performance impact still too high?

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Forum Statistics

    957
    Total Topics
    6137
    Total Posts
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Who's Online   0 Members, 0 Anonymous, 88 Guests (See full list)

    There are no registered users currently online

×