More DLSS...

I found the algorithm. It's in this presentation if you're interested.

https://gpuopen.com/wp-content/uploads/2019/07/FidelityFX-CAS.pptx

Basically, it is bilinear, but resamples based on a circle around an area of pixels, and incorporates the sharpening weights.

So it is a little more advanced than a simple post process on a already upscaled image. But still not magic.
 
I like how you conveniently ignore Digitial Foundry, which has been doing extensive detailed graphics comparison for years, and are quite well respected for it.

The bottom line is that DLSS is an image reconstruction technique, it can actually reconstruct higher resolutions, and convincingly does, according to Digital Foundry, DLSS quality mode is on the whole, superior to Native Resolution plus TAA.

CAS is not image reconstruction. It can't reconstruct higher resolution images. It is simply low resolution scaled higher, with a sharpen filter applied. This is unarguably worse than native.
I like how you conveniently everything I wrote and interjected your own thoughts to argue points that we 99% agree on.

Quoting myself:
"That said, I think image reconstruction techniques are going to be critical going forward, especially as 5k and then 8k monitors start coming on scene. AMD will for sure have to come up with something, but right now they aren't as far off using a filter"

So, yes.. I understand it's reconstruction and said the same thing. I also said AMD is just using a filter, meaning it's not reconstruction, so far you've 100% agreed with me while somehow still arguing?

Further I even agreed that DLSS was superiod "I would say given the mixed reviews that I would still consider it close with the edge going to DLSS (I said edge, not blowout)". So, basically you're disagreement is to what extent DLSS is ahead. My argument was it's not as big a difference as some are trying to make it out to be (conceding that there IS a difference on average). I didn't ignore Digital Foundry, I said other outlets were in agreement with Toms (I only used those two because it was the 2 places my first link was comparing!) and said on the whole DLSS was considered better by more places which is why I said the edge goes to DLSS (also considering images and glitches using both techniques).
 
I've tried both DLSS and FFX in multiple games. There is no question that DLSS is leaps and bounds better.

You can play Control in 540P DLSS and it's playabe. FFX looks poor at even 720P.
Good to hear from someone who has been able to test both with first hand experience. Is it mostly in still images or during movement, or both? Any specific things (fast pace, cinematic scenes, still scenes, weather, etc?) that you can tell where one or the other struggles the most? Know of any good comparisons that compared these? I was trying to find more examples of direct comparisons but they have been really hard to come by.
 
  • Like
Reactions: noko
like this
I found the algorithm. It's in this presentation if you're interested.

https://gpuopen.com/wp-content/uploads/2019/07/FidelityFX-CAS.pptx

Basically, it is bilinear, but resamples based on a circle around an area of pixels, and incorporates the sharpening weights.

So it is a little more advanced than a simple post process on a already upscaled image. But still not magic.

BTW, Billinear is usually considered inferior to Bicubic for most scaling tasks, but it is computationally less intensive.

And this incorporates sharpening into the upsize, as performance enhancement to do them in one pass, not that it does better image quality than doing them separately.

You can also tune bicubic to do sharpening in the upsize in one step.

There is really nothing new going on here.
 
The main issue I have with FFX, even though I do like it overall, is that it can make the image have a muddy low quality look.

Sort of like watching SD video content on an HDTV. It's not so much the lower resolution but the loss of color detail.

DLSS can produce a softer image overall (when rendered at lower res) but doesn't lose the colors.
 
Assuming here, but if the new consoles achieve 4K60fps with FFX or some variant of it, I guess we can say that that would be AMD's answer to DLSS, for what it's worth.
 
Assuming here, but if the new consoles achieve 4K60fps with FFX or some variant of it, I guess we can say that that would be AMD's answer to DLSS, for what it's worth.

And then the claims about better I.Q. on the PC vs. the new consoles will be validated...go figure ;)
 
From every review i've seen of DLSS 2.0 along with my personal experience it has almost no quality loss and actually looks better than TAA assuming you use the quality and not the performance setting.

It works so well that i'm using DLSS 2.0 with death stranding even though I don't need the FPS boost. (2080ti already runs the game 4k @ 80FPS anyways) It's just due to the fact that it provides better picture quality / AA than using TAA. Fidelity FX looks OK, but it's ultimately still a compromised picture because you're just scaling up a lower resolution TAA image.
 
I need to take my pc over to someones house with a 4k 120hz TV and see what the fuss is about. I have a Death Stranding code, I guess the only pt for me to play a non fps is as an informational exercise.

I can understand cramming 2080ti crippling fx and textures into a single player game using dlss to maintain a playable experience.

I'd hope that dlss doesn't replace game build optimization.

If a title like Cyberpunk 2077 can bring a previously unreachable visual experience to all monitors at a lower gpu entry point that would philosophically be a good thing for gaming.
 
It probably won't as most gamers don't have a DLSS capable card.

Let's see what Ampere pricing looks like.
I could see 1650S and 2060S sticking around for a quarterly cycle or 2 at all time lows if only high end 3000 is launched initially.

You'd think Nvidia would be pushing their features given AMD stranglehold in console space.
 
Let's see what Ampere pricing looks like.
I could see 1650S and 2060S sticking around for a quarterly cycle or 2 at all time lows if only high end 3000 is launched initially.

You'd think Nvidia would be pushing their features given AMD stranglehold in console space.
I think they are.
 
BTW, Billinear is usually considered inferior to Bicubic for most scaling tasks, but it is computationally less intensive.

And this incorporates sharpening into the upsize, as performance enhancement to do them in one pass, not that it does better image quality than doing them separately.

You can also tune bicubic to do sharpening in the upsize in one step.

There is really nothing new going on here.
Bilinear is one pass. This there's two passes. So it's not really accurate to say it's strictly bilinear. That second pass is unique to CAS as there's no other upscaling algorithm that takes a second pass using contrast to further manipulate the image. If anything CAS seems to sit somewhere between and with DRS not at all.
 
The other thing about Fidellity FX and CAS is that its GPU accelerated. So the performance hit is really low. And secondly, Fidelity FX is developer integrated. So theoretically, it happens at an optimal time in the graphics pipeline. Something like an reshade injector interrupts the game output and then simply applies whatever effect to the entire frame. Fidelity FX has more potential flexibility than that.

I'm pretty surprised that checkerboard rendering didn't come to PC a long time ago. Consoles have been doing it on AMD GCN hardware for years, now.

Well, I shouldn't say surprised, because PC is often slow to adopt stuff. However, I am truthfully surprised AMD didn't get it into a PC game within the past year.

Its also worth noting that DLSS 2.0 wasn't perfect in Wolfenstein or Control. Both did still have some artifacts and ringing issues.
The implementation in Death Stranding however, seems to be even better. Although I still wanna see the in depth video from Digital Foundry.
 
Last edited:
DLSS uses motion vectors so it has information from previous frame(s) to calculate better what the pixel should look like. FidelityFX is a compute shader working on the frame before UI and other effects as in film grain, which if rendered before CAS would mess it up. FidelityFX mostly gives back what TAA takes away which is a lot. It is cheap, does not require extra hardware, render resolution can change per frame so for fast moving periods you can have FidelityFX render at a lower resolution upscaled, for less motion, native resolution can even be used for highest quality rendering, kinda neat.
Image from previous linked Power Point presentation.
Picture1.png


It can do a decent job, add another performance options but it is not DLSS 2.0 quality. The benefit is that it is mostly GPU agnostic. Will AMD add another more smarter version? Or add to the FidelityFX toolkit (which has several ready made optimizations)? Nvidia has built in processing power to handle DLSS, will AMD shaders be able to do something similar and not drag down the performance with it vice increasing performance to warrant a compute AI shader version? I don't know but DLSS 2.0 is the best reconstruction solution so far.
 
Last edited:
Bilinear is one pass. This there's two passes. So it's not really accurate to say it's strictly bilinear. That second pass is unique to CAS as there's no other upscaling algorithm that takes a second pass using contrast to further manipulate the image. If anything CAS seems to sit somewhere between and with DRS not at all.

No, that isn't what it does.

They can do a sharpen only pass if you aren't resizing, or you want to do resizing without CAS for some reason.

For performance, the point here, is to do it one pass if you can.

Sharpening is a filter operation.
Scaling is also a filter operation.
You can create a filter that does both together.

This is what they do for the best performance case. They create the CAS Filter that does both operations and execute it in one pass.

Again this NOT new. That is has been done for decades.
 
I think it's funny that were arguing about a unknown, last I checked the consoles or Big Navi had not launched and were not sure what AMD has up their sleeves for upscaling. Plus DLSS argument is mute when the game title does not support it, good to see it gain a few more titles using it tho. Personally I like having options.
 
  • Like
Reactions: noko
like this
Well even if the idea was around, AMD is doing it in real time at 4K HFR with little to no performance cost.

Give them at least a little credit.
They tweaked an existing method to make it a little better, so kudos for novel idea and slight improvement for barely any performance penalty. Then they open sourced it so anyone can implement it and any GPU can run it, so kudos again for doing the work and then allowing everyone to benefit.
 
I think it's funny that were arguing about a unknown, last I checked the consoles or Big Navi had not launched and were not sure what AMD has up their sleeves for upscaling. Plus DLSS argument is mute when the game title does not support it, good to see it gain a few more titles using it tho. Personally I like having options.
DLSS 2.0 will be in pretty much every title moving forward as it's baked into most of the major game engines. Sure, a developer needs to add the option, but if they're building the game in the latest version of UE4 or UE5 it's not a difficult thing to add.
 
No, that isn't what it does.

They can do a sharpen only pass if you aren't resizing, or you want to do resizing without CAS for some reason.

For performance, the point here, is to do it one pass if you can.

Sharpening is a filter operation.
Scaling is also a filter operation.
You can create a filter that does both together.

This is what they do for the best performance case. They create the CAS Filter that does both operations and execute it in one pass.

Again this NOT new. That is has been done for decades.
Um read the PowerPoint. It literally says what it does. It's done in two passes.
 
I think it's funny that were arguing about a unknown, last I checked the consoles or Big Navi had not launched and were not sure what AMD has up their sleeves for upscaling. Plus DLSS argument is mute when the game title does not support it, good to see it gain a few more titles using it tho. Personally I like having options.
We have some glimpses here and there, DirectML will most likely be used more and more with at least the XBox One X and PC games. Since 4K is the targeted resolution for the consoles, some form of reconstruction will be needed which most likely will be an improvement from previous versions. Your right, until the hardware is at hand and initial solutions are presented we will not know conclusively. Plus better solutions for both DLSS and whatever AMD/Microsoft/Sony/developer/game engine comes about over time is to be seen. If DirectML reconstruction techniques are used and worth while, all the older better compute orientated AMD GPUs will get another free bump? :D

https://lordsofgaming.net/2020/06/x...a-next-generation-game-changer/#disqus_thread
 
Um read the PowerPoint. It literally says what it does. It's done in two passes.

I did, you need to read and understand it. What you are thinking of as two passes, is them explaining the two filters, leading to page 36 where they are combined together into the "Final Filter" that does both operations in one filter.
 
Well even if the idea was around, AMD is doing it in real time at 4K HFR with little to no performance cost.

Give them at least a little credit.

The deserve credit for popularizing it, and getting us scaling factor option in more games. Also they seemed to have tuned their sharpen filter decently. But we need to be clear the is image processing 101.
 
In Control which Nvidia seemed to have done a lot of work with the developer is very fine tuned for DLSS 2 with remarkable results. Will that represent the same level of integration as well as quality for other type of game environments?
Ready4Dis in other thread linked a take on Death Stranding, which the two technologies were compared, performance IQ, trade offs etc. What Dark Side Of Gaming found looking into this is:
  • DLSS is Slightly better
  • Performance is similar
  • DLSS has less jaggies but introduces artifacts
  • FidelityFX can be sharper but more jaggies
https://www.dsogaming.com/screensho...ative-4k-vs-fidelityfx-upscaling-vs-dlss-2-0/

Considering that FidelityFX supports all DX 12 GPUs and CPU's that have DX 12 integrated graphics which would go back several generations, why would developers even waste time with DLSS 2.0 if in the end it is slightly better? Can only reach a limited number of gamers overall? In addition other techniques using DirectML will most likely also be used making this a very fluid state for reconstruction.

What I also find interesting, with all the extra hardware support in Turing, years of Nvidia trying to make it work right which appears is the case with DLSS 2.0, it is only slightly better than what AMD came up with that works on everything that can run DX 12 :ROFLMAO:. Still only a one game sample where both technologies are present, maybe other games will show how superior DLSS 2.0 is but at present I know of no other game with both technologies for comparison.
 
If DLSS is "slightly better" there is no doubt in my mind that more games will be using it than FFX. Because Humans.
And Nvidia still massively outsells AMD so there's that too.

Console ports might have FFX, if the game originally had it. Because AMD+Consoles.
And that will of course run on Nvidia too.
 
If DLSS is "slightly better" there is no doubt in my mind that more games will be using it than FFX. Because Humans.
And Nvidia still massively outsells AMD so there's that too.

Console ports might have FFX, if the game originally had it. Because AMD+Consoles.
And that will of course run on Nvidia too.
Using Control and Wolfenstein as examples, I really just don't buy slightly better or is hard to believe that is the case if done right. A one game sample where DLSS 2.0 possibly not done correctly or can be updated is too limited, at least for me to draw a conclusion but at least at this time one review found that to be the case. There are way more low end systems, older configurations, integrated graphics only that can benefit significantly using something like FFX where DLSS is not even possible to use. It is much more likely FFX will be incorporated than DLSS since it is more useful to more folks or virtually everyone regardless of GPU manufacturer or even CPU maker with integrated graphics. Of course some big titles may have DLSS supported by Nvidia, unless a feature is significantly worth it, plenty of folks can use it, it may only really be used if paid for by Nvidia (meaning the feature in the end was not worth it in the first place) or big studios see an advantage to use it. In a way, having features that your gamers can't use if they buy your game is a turn off or point of possible contention when their are viable options that come close that you could use for your user. Game engines should help the adoption but not all game engines incorporate DLSS 2.0 yet plus there is some extra work but it does not seem like it is too much to do.

That being said here is a video where 540p is upscaled to 1080p using DirectML, machine learning AI using compute:



When DirectML is on, it is definitely a better looking upscaled version over using Bilinear but the performance TANKS! Nvidia has Tensor cores to offload that kind of processing. Microsoft has this as a sample which someone can compile.
 
I guess we will find out eventually what gets used where and how.
And I know I want a card that can do FFX and DLSS. Not looking to cheap out on this.

Either way, this thread is about DLSS. And where it's heading.
 
In Control which Nvidia seemed to have done a lot of work with the developer is very fine tuned for DLSS 2 with remarkable results. Will that represent the same level of integration as well as quality for other type of game environments?
Ready4Dis in other thread linked a take on Death Stranding, which the two technologies were compared, performance IQ, trade offs etc. What Dark Side Of Gaming found looking into this is:
  • DLSS is Slightly better
  • Performance is similar
  • DLSS has less jaggies but introduces artifacts
  • FidelityFX can be sharper but more jaggies
https://www.dsogaming.com/screensho...ative-4k-vs-fidelityfx-upscaling-vs-dlss-2-0/

Considering that FidelityFX supports all DX 12 GPUs and CPU's that have DX 12 integrated graphics which would go back several generations, why would developers even waste time with DLSS 2.0 if in the end it is slightly better? Can only reach a limited number of gamers overall? In addition other techniques using DirectML will most likely also be used making this a very fluid state for reconstruction.

What I also find interesting, with all the extra hardware support in Turing, years of Nvidia trying to make it work right which appears is the case with DLSS 2.0, it is only slightly better than what AMD came up with that works on everything that can run DX 12 :ROFLMAO:. Still only a one game sample where both technologies are present, maybe other games will show how superior DLSS 2.0 is but at present I know of no other game with both technologies for comparison.

Fidelity FX is not an Anti Aliasing method, AA comes free with DLSS 2.0, it beats TAA in quality and is a very good upscaler.
 
When DirectML is on, it is definitely a better looking upscaled version over using Bilinear but the performance TANKS! Nvidia has Tensor cores to offload that kind of processing. Microsoft has this as a sample which someone can compile.

To say it tanks is putting it mildly, It goes from 4300 FPS to 55 FPS.

And Bi-linear is a pretty low bar for a comparison. The could at least throw some Sharpen Filter on Bilinear...

But a better upscaler is still not a serious competitor to DLSS.

You need a true reconstruction technique like Checkerboard rendering (which is essentially what DLSS 2.0 is doing).

Hopefully people interested in DLSS, watched this excellent DLSS 2.0 video before, or are willing to become a NVidia devleoper to see it now.
https://developer.nvidia.com/gtc/2020/video/s22698

A better scaler can work on creating a cleaner edge, but it can't create detail that isn't there.

DLSS 2.0/Checkerboard rendering can reconstruct those details, as was explained in the DLSS video.

They aren't simply running at lower resolution and scaling. There is a lot of setup, including setting texture resolution to match the final output resolution.

Then you aren't running at a lower resolution with higher resolution textures, because that won't work either.

What you are doing is running a sparse grid of the final output resolution (Where the checkerboard name comes from).

Imagine it this way. I am running at full output resolution, but every second column is empty and unrendered (call these the Left pixels). That way I am only working on half the pixels. In the next frame I switch the columns and work on the Right pixels, and I combine the together, and I have full resolution, build from a sparse grid of the full resolution, and full resolution textures. When I am done everything is at full resolution.

That's the basic idea, but the implementation and sampling of sparse grid is much more complex...

Even with a better algorithm, scaling a low resolution image, can't compete with true reconstruction based on full resolution textures.
 
Seems like that DirectML sample is running against a video? Numbers don't make sense otherwise. Which is interesting because that would basically make it like a post process. I just don't think it has quite the same performance goals in mind in that implementation...

4500 fps to 55 is only a 17.95ms difference in rendering time. Heavy but not _horrific_. Is it actually intended for gaming like DLSS?
 
Last edited:
Seems like that DirectML sample is running against a video? Numbers don't make sense otherwise. Which is interesting because that would basically make it like a post process. I just don't think it has quite the same performance goals in mind in that implementation...

4500 fps to 55 is only a 17.95ms difference in rendering time. Heavy but not _horrific_. Is it actually intended for gaming like DLSS?
It is basically taking a 540p video stream, which would be like game frames being rendered and using AI to reconstruct to a higher resolution with higher quality using DirectML. While the 2070 Super is not rasterizing the frames it is doing the same work on each frame as if it were for the reconstruction phase. If the 2070 Super in this case was also rendering game frames and had to also upscale using this method (talking 540p here), really from that sample that does not look too great on performance or even usable, rendering native 1080p in other words may be way faster :D. How much more efficient this Microsoft code can get, if RNDA2 has some other kind of magic etc. meaning if RNDA2 can use AI effectively for reconstruction like DSLL, compared to the built in AI processing ability of Turing and forthcoming Ampere having Tensor Cores is to be seen. I don't see it but will just have to wait to see how all of this turns out. My best guess is AMD won't be able to compare to Ampere with AI type workloads using Tensor Cores, that will only matter if there are sufficient use cases as in games that can use that processing power Ampere has.
 
Last edited:
To say it tanks is putting it mildly, It goes from 4300 FPS to 55 FPS.

And Bi-linear is a pretty low bar for a comparison. The could at least throw some Sharpen Filter on Bilinear...

But a better upscaler is still not a serious competitor to DLSS.

You need a true reconstruction technique like Checkerboard rendering (which is essentially what DLSS 2.0 is doing).

Hopefully people interested in DLSS, watched this excellent DLSS 2.0 video before, or are willing to become a NVidia devleoper to see it now.
https://developer.nvidia.com/gtc/2020/video/s22698

A better scaler can work on creating a cleaner edge, but it can't create detail that isn't there.

DLSS 2.0/Checkerboard rendering can reconstruct those details, as was explained in the DLSS video.

They aren't simply running at lower resolution and scaling. There is a lot of setup, including setting texture resolution to match the final output resolution.

Then you aren't running at a lower resolution with higher resolution textures, because that won't work either.

What you are doing is running a sparse grid of the final output resolution (Where the checkerboard name comes from).

Imagine it this way. I am running at full output resolution, but every second column is empty and unrendered (call these the Left pixels). That way I am only working on half the pixels. In the next frame I switch the columns and work on the Right pixels, and I combine the together, and I have full resolution, build from a sparse grid of the full resolution, and full resolution textures. When I am done everything is at full resolution.

That's the basic idea, but the implementation and sampling of sparse grid is much more complex...

Even with a better algorithm, scaling a low resolution image, can't compete with true reconstruction based on full resolution textures.
DLSS 2.0 does not have the Checkerboard type cross hatch pattern when in motion on the edges. If it is checkerboard rendering it is a much more refined one. PS4Pro and Xbox 1x has dedicated hardware to track motion vectors for the alternate pixel rendering take off some overhead. I guess AMD could incorporate something like that, while not needed for checkerboard rendering and can be totally done in programming. Checkerboard rendering does not need to be at a lower resolution, your only rendering half the pixels per frame, if rendered at a lower resolution it would also then have to be up scaled afterwards. Obviously the below grid is simplified for simple explanation. Which also begs the question why PC games don't have this option to begin with?

Checkerboard-Rendering-Explained.jpg

I would think, rather confidently that PS5 and XBox Series X will have at least a refined better Checkboard rendering.
 
Last edited:
I think they are.
Agreed. This is Nvidia trying to shoe-horn a tech. It is a boutique feature that supports a paltry amount of games, and now we are on version 2?
It needs to work on every game to be a feature. Otherwise it is another attempt at proprietary nonsense only available from AAA titles.
 
DLSS 2.0 does not have the Checkerboard type cross hatch pattern when in motion on the edges. If it is checkerboard rendering it is a much more refined one. PS4Pro and Xbox 1x has dedicated hardware to track motion vectors for the alternate pixel rendering take off some overhead. I guess AMD could incorporate something like that, while not needed for checkerboard rendering and can be totally done in programming. Checkerboard rendering does not need to be at a lower resolution, your only rendering half the pixels per frame, if rendered at a lower resolution it would also then have to be up scaled afterwards. Obviously the below grid is simplified for simple explanation. Which also begs the question why PC games don't have this option to begin with?

I would think, rather confidently that PS5 and XBox Series X will have at least a refined better Checkboard rendering.

NViidia is doing a similar sampling pattern to checkerboard rendering, and they are setting Textures to full resolution, which really doesn't work if you are staying at an actual lower resolution. So it appears they are rendering missing pixels out of the grid similar to checkerboard, but with a bit more random looking pattern, and AI to do the reconstruction helps eliminate some of the more obvious artifacts.

Yes, why not on PC? Especially with a game like Death Stranding which IIRC has it on the PS4.

The setup appears similar between Checkerboard and DLSS 2.0, which is why it would be great if AMD supported a Checkboard setup. So developers could easily add one if they supported the other, and potentially it could be an open solution like CAS, and be done on NVidia Pascal cards as well as AMD cards.
 
  • Like
Reactions: noko
like this
Agreed. This is Nvidia trying to shoe-horn a tech. It is a boutique feature that supports a paltry amount of games, and now we are on version 2?
It needs to work on every game to be a feature. Otherwise it is another attempt at proprietary nonsense only available from AAA titles.
I made this thread to talk about how it works and such.
Would be nice to keep it that way rather than derailing it in to another argument fest about Nvidia business practices.

That said, at this stage the "all or nothing approach" is not practical for what DLSS does and how it does it.
This is, a future thing, and I predict there will be games that don't have it, and games that don't need it.

It will be a "choice feature", with other alternatives and methods available from other manufacturers.
 
I did, you need to read and understand it. What you are thinking of as two passes, is them explaining the two filters, leading to page 36 where they are combined together into the "Final Filter" that does both operations in one filter.
Dude it literally says one filter is done first the other second. You making up stuff isn't going to change that. Now if you're talking operations then ok. But that's not what I said and the power point doesn't say that either.

You don't like AMD we get it. But try to at least stay neutral enough to talk about the topic.

That being said it's far more than a simple bilinear filter.
 
Last edited:
Dude it literally says one filter is done first the other second. You making up stuff isn't going to change that. Now if you're talking operations then ok. But that's not what I said and the power point doesn't say that either.

Even if you were correct, that wouldn't be an advantage so I am not sure why you are harping on about it.

Requiring two passes results in worse performance, than you could get if instead, you intelligently combine both filters (as they are actually doing) and do it one pass for better performance.

I showed the page(36) where they combine both into the "Final Filter".

How about you show where it supposedly says it's one filter then the other.

They can apply the sharpening step alone, if resize is not needed, but if CAS is doing the resize the way to go is to use the combined "Final Filter" and do it in one pass.
 
Back
Top