Digital Foundry Article Technical Discussion [2021]

Status
Not open for further replies.
Was that really a thing though? Or just pressure from the public to Sony and MS in which they put out helpful reminders to increase AF? I think as time went on developers were able to fit in more like better AF settings as they optimized elsewhere.

I think I recall only UE3 ports as missing AF, other titles just had lower AF settings.
Yeah some times I think it was oversight at the beginning, but as the gen went on it was more obvious that devs were targetting it. TLOU 2 is one that comes to mind, a game that has a great attention to detail yet they target like 2 or 4x AF.
 
@HLJ have you tried SeriesX|S or PS5 with their newest controllers? I know the new SeriesX console with new Series style controller has substantially reduced input lag compared to prior generation. I don't think the firmware updates have gone out for the last-gen OneX, OneS, One controllers.

Havn't touched the current gen (technically last gen compared to the PC) yet, nope.
The input lantency is one of the reasons I don't the game-streaming as a competitor for the PC, but for the consoles...because you cannot beat physics...but you have a whole demographics accustomed to laggy input and less image quality.
 
Yeah some times I think it was oversight at the beginning, but as the gen went on it was more obvious that devs were targetting it. TLOU 2 is one that comes to mind, a game that has a great attention to detail yet they target like 2 or 4x AF.

4 x AF?
That bring me right back to the Ti 4600 days? :/
 
4 x AF?
That bring me right back to the Ti 4600 days? :/

I don't expect more than 8x AF this gen because from what a dev told on era it is a texture cache problem doing 16xAF texture cache flush more often and it has an impact on perfomance. If we have 16x AF on console, it will be next generation.
 
I don't expect more than 8x AF this gen because from what a dev told on era it is a texture cache problem doing 16xAF texture cache flush more often and it has an impact on perfomance. If we have 16x AF on console, it will be next generation.

Not necessarily next-generation gaming, but doesn't XBSX BC games support 16x AF? I could have sworn I seen a few reviews of certain BC titles supporting it.
 
Not necessarily next-generation gaming, but doesn't XBSX BC games support 16x AF? I could have sworn I seen a few reviews of certain BC titles supporting it.

I speak about current gen games, not backward compatible games like I said in my first post. I expect AF to be 8x Af for most title. It is a compromise.

After it looks like AF is on the low side for Doom but maybe it is a bug or not at all and a compromise they choose.
 
Another idea for future RT title on PC, I don't know if this is possible but maybe having different resolution by roughness can help performance. Mative resolution help a lot for mirror like reflection and they cost less than more diffuse reflection. Maybe a setting with mirror reflection at native resolution and more rough reflection at 1/2 or 1/4 res is possible.

The same idea can apply to console but with lower res reflection.

No idea if this is possible.
 
Another idea for future RT title on PC, I don't know if this is possible but maybe having different resolution by roughness can help performance. Mative resolution help a lot for mirror like reflection and they cost less than more diffuse reflection. Maybe a setting with mirror reflection at native resolution and more rough reflection at 1/2 or 1/4 res is possible.

The same idea can apply to console but with lower res reflection.

No idea if this is possible.


I'm guessing here, this may totally not be the reason, but... I would speculate the reason rough reflections perform worse is because they already need more resolution in order to look good. Quick definitions: there are three kinds of 'resolution' to worry about with RT:

1- pixel resolution (duh)
2- temporal resolution (for accumulation -- rt effects are inherently random, and you need to accumulate over several frames to hope for having enough of the third type...)
3- samples, rays per pixel.

With a sharp reflection, you can get away with about 1 sample per ray* and get a decent result. That's because with a mirror-like reflection, there's no randomness needed, the ray always reflects the same direction
reflectionimage2.png


With rough reflections, this isn't the case -- you approximate a rough reflection by randomizing the reflection angle. This breaks down immediately and becomes incredibly noisy. The way you counteract that is use more samples -- take multiple reflection bounces, each with a different random seed, and average out the results.

*(It's not quite one ray per -- you always want multiple samples that are very slightly jittered to provide anti aliasing and prevent artifacts)

I suspect how RT reflections work is that as roughness increases, the renderer produces more and more sample bounce rays. Cutoffs are provided to avoid the exponential growth in cost. Anybody who's read the docs or played around with this here who could correct me?
 
Another idea for future RT title on PC, I don't know if this is possible but maybe having different resolution by roughness can help performance. Mative resolution help a lot for mirror like reflection and they cost less than more diffuse reflection. Maybe a setting with mirror reflection at native resolution and more rough reflection at 1/2 or 1/4 res is possible.
Actually you want to do more of the opposite than that, at least in the context of accurate offline rendering.
For a perfect mirror, one ray is enough (ignoring aliased result). But for a glossy reflection, you need to average many rays representing the wider reflection lobe of a rough material. (i see same explanation has just been posted above)

However, one common trick to fake glossy reflections is to do 1 ray per pixel, and then blur in image space. Actually the whole 'denoising' idea is just that, sort of.
So the idea could work, but take shadows as the example for simplicity: Trace at quarter resolution, identify tiles where not all 4 corner results are equal, refine those at half resolution, finally at full resolution.
Such refinement methods will miss some things and have errors, which can be addressed by jittering the tile grid like TAA does, and estimating / predicting necessary resolution over time.
One minor downside here is coherency of rays decreases as resolution goes down, but likely a promising path to explore for some cases.
 
I don't expect more than 8x AF this gen because from what a dev told on era it is a texture cache problem doing 16xAF texture cache flush more often and it has an impact on perfomance. If we have 16x AF on console, it will be next generation.
whats the problem with texture cache on consoles gpu ?
 
I suspect how RT reflections work is that as roughness increases, the renderer produces more and more sample bounce rays.
In practice, sharp and glossy reflections may both need the same number of samples if we aim for max quality. Sharp reflections need more samples for anti aliasing, glossy reflections need them to model the reflection cone / lobe.
So for some basic pathtracer it's not common to have variable sample counts, and if people say 'image has been rendered with X spp', this number X usually is indeed constant for every pixel.
For games, aiming for low quality, it's a bit different ofc., and the cutoff is often used to fall back to cubemaps.
 
whats the problem with texture cache on consoles gpu ?

This is the same on PC but the performance is not too much affected. On consoles I see two devs on era gives an explanation and said it impact performance due to texture cache and devs choose to compromise. After maybe gamers needs to ask to do another compromise and push less effect and better texture filtering if they think it is ressources better spend.

EDIT:

https://www.eurogamer.net/articles/digitalfoundry-2015-vs-texture-filtering-on-console

AF requires multiple taps and has to sample a lower mipmap (very bad for texture cache)

But I saw two devs on era talk about it but I think they deleted the post because it was maybe something they were not suppose to say. I verify post history until January 2020 and it disseapear.

Basically it means use much more memory bandwith and consoles using an APU this is the weakness of UMA when you can't use faster GDRR6 because of the cost. The performance loss is probably worse on console than PC.
 
Last edited:
  • Like
Reactions: snc
Basically it means use much more memory bandwith and consoles using an APU this is the weakness of UMA when you can't use faster GDRR6 because of the cost. The performance loss is probably worse on console than PC.
AF by it's nature is VERY memory bandwidth intensive, each filtered pixel/texel could use 512bytes per frame, so the higher the fps, the more bandwidth is required, which explains why 60fps games tend to use less AF on consoles.

On PC, AF is not completely free, on APUs and iGPUs it affects performance sometimes in a significant way. On powerful GPUs it also affects fps during extremely high fps scenarios, a game can do 200fps on 4X AF, but does 190fps on 16X AF.

AMD and NVIDIA have learned some tricks to reduce AF footprint on PC though, first there is texture decompression, then there is optimizations to limit the AF samples and use them smartly where they impact the image most, these optimizations are done in hardware though, and deviate from the AF16X specs dictated by the APIs, but no body seems to care. 15 years ago there was a huge battle between AMD and NVIDIA for AF superiority, AMD had troubles doing fast AF with comparable quality to NVIDIA, their AF used to shimmer and flicker a lot, specifically during the HD 3870/4870/5870/6970 era. The dust has settled with the advent of GCN though, and AF is arguably of equal quality between AMD and NVIDIA.
 
He literally says immediately after the hair shot “Another reason it looks better is much higher anisotropic filtering on PC”. Did you actually watch or listen to the video? :)
I knew about the AF problem on consoles before going to sleep. I could only inspect it for myself the next morning :)
 
AMD and NVIDIA have learned some tricks to reduce AF footprint on PC though, first there is texture decompression, then there is optimizations to limit the AF samples and use them smartly where they impact the image most, these optimizations are done in hardware though, and deviate from the AF16X specs dictated by the APIs, but no body seems to care.
Thanks for post, very informative.

Is there any reason why these hacks/optimizations can't be done on consoles. Has the dgpu really got these hacks in hardware but consoles don't?

I'm surprised that the platform holders haven't included the hacked AF into their api's as an optimized AF setting.
 
Thanks for post, very informative.

Is there any reason why these hacks/optimizations can't be done on consoles. Has the dgpu really got these hacks in hardware but consoles don't?

I'm surprised that the platform holders haven't included the hacked AF into their api's as an optimized AF setting.

Memory bandwidth.
PS5 = 448 GB/s (shared between the CPU and GPU).
RTX 3080 = 760 GB/s...

It is simple math.
 
Thanks for post, very informative.

Is there any reason why these hacks/optimizations can't be done on consoles. Has the dgpu really got these hacks in hardware but consoles don't?

I'm surprised that the platform holders haven't included the hacked AF into their api's as an optimized AF setting.

On consoles devs can do the same manually but AF cost memory bandwidth. All people were talking about 10 Tflops and variable clock seeing PS5 specifications, my only complaint was 448 GB/S. If I could change something in PS5 it would be faster GDDR6 module.

It would have been great to have 18GBps GDDR6 memory chips for 576 GB/s of memory bandwidth but this is too expensive.

On consoles we will have 16x AF next generation.
 
9/10TF (5700XT raw perf class......), 16GB total ram, downclocked/cut down Zen2, RDNA2 based which occupies rather 'meh' ray tracing performance, no hardware reconstruction acceleration which could have gained serious performance in games, tiny interal storage, the more advanced mesh shaders, no downclocking.... theres alot i'd wanted moar besides a huge mem bandwith.

The ramdisk, RDNA3+ featured 14/15TF, 20/24GB HBM2+, Zen3 console never made it further then forum boards, unfortunately.
 
  • Like
Reactions: HLJ
Status
Not open for further replies.
Back
Top