I honestly think the aversion to FXAA is like mind over matter. Its actually...getting rid of ALL of the aliasing. Like the name "anti-aliasing" implies.
I never understood the term "real AA". What is real AA? As long as the aliasing is gone, isn't that the point?
And when you consider that FXAA gets rid of all of the aliasing in the scene, and at a tiny tiny miniscule performance hit, compared to something like MSAA (what people say is "true AA") which has a massive performance hit and doesn't address aliasing in large amounts of the scene potentially, I think FXAA is pretty damn good.
I honestly think post process AA is the future of AA, or that its already the best alternative. There is no reason eliminating aliasing should take up like 30-40% of your performance bandwidth.
I'll take FXAA or SMAA any day over the huge performance hit os MSAA.
First of all, FXAA, like all post-processing AA, is
completely, fundamentally incapable of getting rid of all aliasing. It completely fails for both sub-pixel and temporal aliasing (and can in fact make matters worse for the latter). If you want to know why exactly that is the case, and which AA methods are capable of dealing with which types o aliasing then read
this article.
FXAA also has the additional issue (not shared to the same extent by e.g. SMAA) that it blurs actual detail which is not an aliasing artifact. That's because, like all other post-processing methods, it has to
guess what's aliasing and what isn't. The tradeoff for that is between coverage, unintentional blur and complexity (and thus cost) of the guessing process.
The reason why FXAA is a good choice (IMHO) when combined with downsampling is that you can recover the lost pixel-level detail because of the downsampling process using information from multiple FXAA'd pixels for each final pixel. And since FXAA is very soft, it deals better with more types of aliasing than standard SMAA.
As for "real AA", the definition of that varies, but usually people mean anything which at least uses more than one sample per resulting pixel. In terms of performance, the state of the art is to gather these samples mostly (or exclusively) by reprojection and offsets across multiple frames, which greatly reduces the performance impact. This is implemented as the main AA method in UE4, and also in recent versions of CryEngine.