Live data from Hacker News

AAA – Analytical Anti-Aliasing

blog.frost.kiwi

91–100 of 104 posts

Re: AAA – Analytical Anti-Aliasing

#91
post #69

Earlier quoted context omitted.

As a non-gamedev person but just gamer, I should expect that this will replace TAA anytime soon? Should it replace TAA?

Basically no... Analytic AA is a really hard problem for video games, and I know of no general purpose solutions. For font and 2D vector rendering it's likely, in fact afaik, some solutions, such as Slug already do. But for 3d rendering I don't know of any solutions. For an intuition, consider two triangles that intersect the same pixel. Consider if say one has 20% coverage and the other 30%, does that pixel have 50%…

There're already games fully using SDF rendering, such as Dreams [0]. It even made a SIGGRAPH talk [1].

[0] https://en.wikipedia.org/wiki/Dreams_(video_game)

[1] https://www.youtube.com/watch?v=u9KNtnCZDMI

Re: AAA – Analytical Anti-Aliasing

#92

Thanks for sharing! Author here, happy to answer any questions.

As a non-gamedev person but just gamer, I should expect that this will replace TAA anytime soon? Should it replace TAA?

I tried to do this for polygons rendered aliased by computing edge position and reweighting pixel colours. It looks great when polygons are large but it breaks for small polygons (when polygon size is close to pixel size)

Re: AAA – Analytical Anti-Aliasing

#93
post #40
post #29

Earlier quoted context omitted.

Games/graphics are one of those domains with a lot of jargon for sure. If you don't want to be a wizard you can just mess with it and see what happens. I like how dolphin approaches this with extensive tooltips in the settings, but there's always going to be some implicit knowledge. On a meta level - I feel like I've seen anti-acronym sentiment a lot recently. I feel like it's never been easier to look these things u…

> just mess with it and see what happens And even if you know every detail, that's still the best course of action, I think. Which kind of antialiasing you prefer, and how it trades with performance and resolution is highly subjective, and it can be "none". There are 3 components to rescaling/rendering pixels: aliasing, sharpness and locality. Aliasing is, well, aliasing, sharpness is the opposite of blurriness, and…

Oh there are lots more axes than just the 3 aliasing, sharpness, and locality ones. Those are the main tradeoffs for a pixel sampling or convolution filter choice, when downscaling an image, say between nearest neighbor vs bilinear vs Mitchell (bicubic). But the antialiasing methods in this article have many tradeoffs that aren’t on the aliasing-sharpness-locality spectrum. Other issues with real time AA methods include bias, correctness, noise, quality, temporal effects, compositing/blending issues, etc. And the topic gets much wider when we start talking about DLSS, we don’t even have established terminology for the many different kinds of tradeoffs neural networks give us. Anyway just noting that the main highlights of discussion in the article, which are MSAA and AAA (and references to TAA and others), don’t fit in the aliasing-sharpness-locality space. MSAA’s tradeoffs include it only running on geometry & texture edges, and its ‘wrong order’ samples or ‘double edges’ noted in the article. TAA has a temporal aspect and is most known for ghosting. AAA as described here doesn’t necessarily blend correctly and in general it can’t handle multiple arbitrary sub-pixel events, it really only works well if there’s one edge crossing a pixel.

Re: AAA – Analytical Anti-Aliasing

#94

Thanks for sharing! Author here, happy to answer any questions.

If you fade out the edge pixels like that, won't that create a 1px gap between adjacent squares? What do you do about that?

I think this is the same method Skia uses, and it doesn't work for rendering vectors from SWF files in my experience because of this problem.

Re: AAA – Analytical Anti-Aliasing

#95
post #29

Earlier quoted context omitted.

Games/graphics are one of those domains with a lot of jargon for sure. If you don't want to be a wizard you can just mess with it and see what happens. I like how dolphin approaches this with extensive tooltips in the settings, but there's always going to be some implicit knowledge. On a meta level - I feel like I've seen anti-acronym sentiment a lot recently. I feel like it's never been easier to look these things u…

Well, I suppose I'm not the assumed target audience. Back when I was younger I had the time to tweak everything on my computer: my Linux distro, my games (dualbooting windows just for that), and looking things up for that reason. I also could play long gaming sessions. Nowadays I'm a dad with practically no spare time between raising a toddler and work. Suddenly the question of "does the game overstay its welcome?" h…

Not a parent but I still agree that short games are great, 2-3 hours are great (or even a bit less, there is a reason for the standard 90 minute movie). 4-5 hours can be nice too ("chapter" divisions are helpful). Games are inexpensive and plentiful these days so a nice short game is great for everyone not just people with little time for playing games. (I guess I should say the flip side is that time spent with characters is one of the interesting things that games can use to good effect and bonus objectives that encourage you to explore details of the world can be nice too depending on the type of game and are easily skipped).

The best game settings have a scene to illustrate the effect of choices along with estimated(?) performance. Unfortunately I haven't seen that too often (mostly Falcom games that PH3 worked on). I agree that stating the impact on performance is quite helpful when settings need to be lowered. Usually they are ordered "best performance" to "nicest looking" so I set the last one and only fiddle with them if necessary (a smooth 12fps works great for me so luckily that isn't often).

Re: AAA – Analytical Anti-Aliasing

#96
post #19

scrolling thru the post the NeoTokyo screenshot struck me instantly, I ran through the hallway thousands of times - I ran a server for that mod for some years and had great fun with a small community of good/capable people.

The even more amazing thing is that it's still actively played. There is a full server every Friday night (sometimes also in Saturday/Sunday). It has got some quite dedicated fan base and I've never seen such dedication in another old multiplayer game.

Re: AAA – Analytical Anti-Aliasing

#97

I really miss MSAA. I still dislike DLSS personally. I realize many people seem to like it, but it just does not look that good to me. Or as good as things used to look or I believe could look. Sure it's better than TAA, but come on, this can't be the ultimate end for gaming graphics... At least I hope it isn't.

Same here. I can't put my finger on what exactly it is, but it just never feels and looks as good as lower quality at full resolution.

DLSS even in Balanced mode is annoying when the camera laterally moves, I start seeing all kinds of artifacts. Strangely enough I prefer FSR 2.0 even though there’s slightly less overall detail.

Re: AAA – Analytical Anti-Aliasing

#99

Earlier quoted context omitted.

Thank you for the excellent writeup, terrific work! > Whole communities rally around fixing this, like the reddit communities “r/MotionClarity” or the lovingly titled “r/FuckTAA”, all with the understanding, that Anti-Aliasing should not come at the cost of clarity. FXAA creator Timothy Lottes mentioned, that this is solvable to some degree with adjustments to filtering, though even the most modern titles suffer from…

Disclaimer: I haven't really played games with high-end graphics on a high-end system in over a decade, and have always had more of a soft spot for games that use beautiful art design to work around the limitations of "underpowered" systems (IMO the graphics in those games hold up much better throughout the decades anyway). And as I mentioned elsewhere I'm generally quite lost when it comes to AA names and abbreviati…

I mostly understand your perspective here from a developer point-of-view. I'd like to give you some perspective of /r/FuckTAA and similar views from the gamers' perspective.

What many gamers see in TAA and other anti-aliasing options is higher system requirements and worse image quality. Obviously, this isn't just caused by one factor but it's very noticeable if you compare games now to the games of yesteryear.

Here is a good collection of anti-aliasing methods. https://www.pcgamingwiki.com/wiki/Glossary:Anti-aliasing_(AA...

Modern graphics are generally less "accurate" in terms of rendering in exchange of way better visual effects like raytracing and better shading. There's a fairly linear progression of rendering quality throughout the history of 3D rendering. Games like Half-Life 2, Halo and the first CoDs had mostly exact forward rendering, the shading was fairly simple but the rendered image did not have spatial or temporal artifacts. Individual pixels could be discerned too. If you increased the resolution, you got a crisp image with crisp UI. These games usually used SSAA, MSAA or CSAA. These methods were very expensive because they effectively rendered at a higher resolution, they could have had double the shading cost. (I know that MSAA only does it for the edges but I'm keeping the explanation fairly simple)

Next, developers started to switch to framebuffer-based methods (FXAA and SMAA). These introduced blur to the edges of objects which was a downgrade in terms of image clarity. However, these methods are fairly fast and the games didn't exhibit motion-based artifacts. The shader is relatively fast and the only real cost is an extra framebuffer in memory - which the game already probably had for other post-processing effects.

Developers also started to use deferred rendering and more buffers in general. This led to an explosive growth of VRAM usage, so for optimisation purposes, they started using the console methods of checkerboard rendering and lower-resolution buffers. A good example of this is GTA V where you can see many dithering artifacts in the distance and a generally blurrier picture. These games still didn't have temporal artifacts - looking around did not generally reduce the image quality.

Graphical demands only got more intense, so developers started to "cheat" with forms of temporal anti-aliasing, which (as in the name) introduce temporal artifacts to the image. The stereotypical poster-child for this is Unreal Engine - it's seriously impressive in many aspects but developers just started to slap TAA on everything instead of optimising their shaders and LoDs. TAA is not really one single method - it can really vary in quality based on how many past frames are used, how artifacts are removed, etc.

A while ago, NVIDIA introduced DLSS and (real-time) Ray Tracing, which changed things quite a lot. With these techniques, not even the final framebuffer is at native resolution, but is instead being upscaled from a lower-resolution framebuffer using ML-based methods. Ray tracing also requires denoising because it's infeasible to raytrace every pixel in native resolution. It works surprisingly well, but there's another reduction in clarity. And of course, since the image is effectively being reconstructed (twice!), the temporal effects are horrible, even moving the cursor around can produce nauseating artifacts on more complex objects.

Currently, the gaming industry is at a stage where the massively better GPUs are not used to progressively enhance games but to cut corners and reduce the rendering quality for everyone. Games even use DLSS for their recommended system requirements now instead of being an optional enhancer for weaker GPUs. Currently, if you don't have a top-end GPU (4080 or 4090, basically), you have to make heavy compromises in the newest games in terms of image quality or use DLSS, even without RT. I predict that in the future, even top-end GPUs like the 5090 or 6090 will have to use DLSS to get playable framerates in 1440p with acceptable graphics, not just in 4K.

There is a reason why quite a few people are pissed off. Obviously, they might not know the exact causes of these problems but it's easy to see a correlation of TAA in game - bad rendering quality and choppy FPS, so they scapegoat that. I can't really blame them, I don't think it's realistic to expect gamers to be intimately familiar with the render pipeline.

Re: AAA – Analytical Anti-Aliasing

#100

Thanks for sharing! Author here, happy to answer any questions.

"A scene from my favorite piece of software in existence: NeoTokyo°."

I am sorry, but may I ask you, do you uphold your duties as a NeoTokyo fan, by promoting both the 2 best (un-)dead Source Mods, NeoTokyo and Dystopia?

https://store.steampowered.com/app/17580/Dystopia/ https://store.steampowered.com/app/244630/NEOTOKYO/

Sorry, was most likely funnier in my head then it really is, but I was committed to the bit once I had the idea. I was exited to see Neotokyo mention somewhere popular. NeoTokyo and Dystopia regulars compete in each others tournaments and are always looking forward to new players :)

Biggest Tournament of the year: - 5v5 matches of ~4-6 teams - broadcasted on twitch with - 1 camera person - 2-3 casters/commentators - definitely overproduced - to an audience of 15-25

Its so much fun ^.^

Post reply on HN