It’s a hardware level feature, though. The reason they didn’t support hardware prior to RTX was because they didn’t have the tensor cores to do the right math.
FSR is substantially less capable because it can’t assume it has the correct hardware to get the throughput DLSS needs to work. I know the “corporations suck” talking point is fun and there’s some truth to it, but most of the proprietary stuff nvidia does is either first or better by a significant bit. They use the marriage of hardware and software to do things you can’t do effectively with broad compatibility, because they use the architecture of the cards it’s designed for (and going forward) extremely effectively.
I think it’s more the other way around. They designed the feature around their new hardware as a form of competitive advantage. Most of the time, you can exchange cross platform compatibility for better performance.
Look at CUDA vs OpenCL, for example. Instead of improving OpenCL or making CUDA an open standard, they instead double down on keeping it proprietary. They probably get a small performance advantage here, but the main reason they do this is to secure their monopoly. The same goes for GSync vs FreeSync, but it seems they are backing down and supporting FreeSync as well.
They want you to think it’s a pro-consumer move, but really it’s just a way to keep their competition one step behind.
They can’t improve openCL. They can make suggestions or proposals, but because broad compatibility are the priority, most of it wouldn’t get added. They’d be stuck with a worse instruction set with tooling that spends half its time trying to figure out all the different hardware compatibility you have to deal with.
Cuda is better than openCL. Gsync was better than freesync (though the gap has closed enough that freesync is viable now). DLSS is better than FSR. None of them are small advantages, and they were all created before there was anything else available even if they wanted to. Supporting any of them in place of their own tech would have been a big step back and abandoning what they had just sold their customers.
It’s not “pro consumer”. It absolutely is “pro technology”, though. Nvidia has driven graphic and gpgpu massively forward. Open technology is nice, but it has limitations as well, and Nvidia’s approach has been constant substantial improvement to what can be done.
CUDA is only better because the industry has moved to it, and NVIDIA pumps money into its development. OpenCL could be just as good if the industry adopted it and card manufacturers invested in it. AMD and Intel aren’t going to invest as much in it as NVIDIA invests in CUDA because the marketshare just isn’t there.
Look at Vulkan, it has a ton of potential for greater performance, yet many games (at least Baldur’s Gate) work better with DirectX 12, and that’s because they’ve invested resources into making it work better. If those same resources were out into Vulkan development, Vulkan would outperform DirectX on those games.
The same goes for GSync vs FreeSync, most of the problems with FreeSync were poor implementations by monitors, or poor support from NVIDIA. More people had NVIDIA cards, so GSync monitors tended to work better. If NVIDIA and AMD had worked together at the start, variable refresh would’ve worked better from day one.
Look at web standards, when organizations worked well together (e.g. to overtake IE 6), the web progressed really well and you could largely say “use a modern browser” and things would tend to work well. Now that Chrome has a near monopoly, there’s a ton of little things that don’t work as nicely between Chrome and Firefox. Things were pretty good until Chrome became dominant, and now it’s getting worse.
It absolutely is “pro technology”
Kind of. It’s more of an excuse to be anti-consumer by locking out competition with a somewhat legitimate “pro technology” stance.
If they really were so “pro technology,” why not release DLSS, GSync, and CUDA as open standards? That way other companies could provide that technology in new ways to more segments of the market. But instead of that, they go the proprietary route, and the rest try to make open standards to oppose their monopoly on that tech.
I’m not proposing any solutions here, just pointing out that NVIDIA does this because it works to secure their dominant market share. If AMD and Intel drop out, they’d likely stop the pace of innovation. If AMD and Intel catch up, NVIDIA will likely adopt open standards. But as long as they have a dominant position, there’s no reason for them to play nicely.
Cuda was first, and worked well out of the gate. Resources that could have been spent improving cuda for an ecosystem that was outright bad for a long time didn’t make sense.
Gsync was first, and was better because it solved a hardware problem with hardware. It was a decade before displays came default with hardware where solving it with software was short of laughable. There was nothing nvidia could have done to make freesync better than dogshit. The approach was terrible.
DLSS was first, and was better because it came with hardware capable of actually solving the problem. FSR doesn’t and is inherently never going to be near as useful because of it. The cycles saved are offset significantly by the fact that it needs its own cycles of the same hardware to work.
Opening the standard sounds good, but it doesn’t actually do much unless you also compromise the product massively for compatibility. If you let AMD call FSR DLSS because they badly implement the methods, consumers don’t get anything better. AMD’s “DLSS” still doesn’t work, people now think DLSS is bad, and you get accused of gimping performance on AMD because their cards can’t do the math, all while also making design compromises to facilitate interoperability. And that’s if they even bother doing the work. There have been nvidia technologies that have been able to run on competitor’s cards and that’s exactly what happened.
Opening the standard… compromise the product massively
Citation needed.
All NVIDIA needs to do is:
release the spec with a license AMD and Intel can use
form a standards group, or submit it to an existing one
ensure any changes to the spec go through the standards group; they can be first to market, provided they agree on the spec change
That’s it. They don’t need to make changes to suit AMD and Intel’s hardware, that’s on those individual companies to make work correctly.
This works really well in many other areas of computing, such as compression algorithms, web standards, USB specs, etc. Once you have a standard, other products can target it and the consumer has a richer selection of compatible products.
Right now, if you want GPGPU, you need to choose between OpenCL and CUDA, and each choice will essentially lock you out of certain product categories. Just a few years ago, the same as true for FreeSync, though FreeSync seems to have won.
But NVIDIA seems to be allergic to open standards, even going so far as to make their own power cable when they could have worked with the existing relevant standards bodies.
Going through a standards group is a massive compromise. It in and of itself completely kills the marriage between the hardware and software designs. Answering to anyone on architecture design is a huge downgrade that massively degrades the product.
How do you explain PCIe, DDR, and M.2 standards? Maybe we could’ve had similar performance sooner if motherboard vendors did their own thing, but with standardization, we get more variety and broader adoption.
If a company wants or needs a major change, they go through the standards body and all competitors benefit from that work. The time to market for an individual feature may be a little longer, but the overall pace is likely pretty similar, they just need to front load the I/O design work.
Completely and utterly irrelevant? They are explicitly for the purpose of communicating between two pieces of hardware from different manufacturers, and obscenely simple. The entire purpose is to do the same small thing faster. Standardizing communication costs zero.
The architecture of GPUs is many, many orders of magnitude more complex, solving problems many orders more complex than that. There isn’t even a slim possibility that hardware ray tracing would exist if Nvidia hadn’t unilaterally done so and said “this is happening now”. We almost definitely wouldn’t have refresh rate synced displays even today, either. It took Nvidia making a massive investment in showing it was possible and worth doing for a solid decade of completely unusable software solutions before freesync became something that wasn’t vomit inducing.
There is no such thing as innovation on standards. It’s worth the sacrifice for modular PCs. It’s not remotely worth the sacrifice to graphics performance. We’d still be doing the “literally nothing but increasing core count and clocks” race that’s all AMD can do for GPUs if Nvidia needed to involve other manufacturers in their giant leaps forward.
It’s a hardware level feature, though. The reason they didn’t support hardware prior to RTX was because they didn’t have the tensor cores to do the right math.
FSR is substantially less capable because it can’t assume it has the correct hardware to get the throughput DLSS needs to work. I know the “corporations suck” talking point is fun and there’s some truth to it, but most of the proprietary stuff nvidia does is either first or better by a significant bit. They use the marriage of hardware and software to do things you can’t do effectively with broad compatibility, because they use the architecture of the cards it’s designed for (and going forward) extremely effectively.
I think it’s more the other way around. They designed the feature around their new hardware as a form of competitive advantage. Most of the time, you can exchange cross platform compatibility for better performance.
Look at CUDA vs OpenCL, for example. Instead of improving OpenCL or making CUDA an open standard, they instead double down on keeping it proprietary. They probably get a small performance advantage here, but the main reason they do this is to secure their monopoly. The same goes for GSync vs FreeSync, but it seems they are backing down and supporting FreeSync as well.
They want you to think it’s a pro-consumer move, but really it’s just a way to keep their competition one step behind.
They can’t improve openCL. They can make suggestions or proposals, but because broad compatibility are the priority, most of it wouldn’t get added. They’d be stuck with a worse instruction set with tooling that spends half its time trying to figure out all the different hardware compatibility you have to deal with.
Cuda is better than openCL. Gsync was better than freesync (though the gap has closed enough that freesync is viable now). DLSS is better than FSR. None of them are small advantages, and they were all created before there was anything else available even if they wanted to. Supporting any of them in place of their own tech would have been a big step back and abandoning what they had just sold their customers.
It’s not “pro consumer”. It absolutely is “pro technology”, though. Nvidia has driven graphic and gpgpu massively forward. Open technology is nice, but it has limitations as well, and Nvidia’s approach has been constant substantial improvement to what can be done.
CUDA is only better because the industry has moved to it, and NVIDIA pumps money into its development. OpenCL could be just as good if the industry adopted it and card manufacturers invested in it. AMD and Intel aren’t going to invest as much in it as NVIDIA invests in CUDA because the marketshare just isn’t there.
Look at Vulkan, it has a ton of potential for greater performance, yet many games (at least Baldur’s Gate) work better with DirectX 12, and that’s because they’ve invested resources into making it work better. If those same resources were out into Vulkan development, Vulkan would outperform DirectX on those games.
The same goes for GSync vs FreeSync, most of the problems with FreeSync were poor implementations by monitors, or poor support from NVIDIA. More people had NVIDIA cards, so GSync monitors tended to work better. If NVIDIA and AMD had worked together at the start, variable refresh would’ve worked better from day one.
Look at web standards, when organizations worked well together (e.g. to overtake IE 6), the web progressed really well and you could largely say “use a modern browser” and things would tend to work well. Now that Chrome has a near monopoly, there’s a ton of little things that don’t work as nicely between Chrome and Firefox. Things were pretty good until Chrome became dominant, and now it’s getting worse.
Kind of. It’s more of an excuse to be anti-consumer by locking out competition with a somewhat legitimate “pro technology” stance.
If they really were so “pro technology,” why not release DLSS, GSync, and CUDA as open standards? That way other companies could provide that technology in new ways to more segments of the market. But instead of that, they go the proprietary route, and the rest try to make open standards to oppose their monopoly on that tech.
I’m not proposing any solutions here, just pointing out that NVIDIA does this because it works to secure their dominant market share. If AMD and Intel drop out, they’d likely stop the pace of innovation. If AMD and Intel catch up, NVIDIA will likely adopt open standards. But as long as they have a dominant position, there’s no reason for them to play nicely.
Cuda was first, and worked well out of the gate. Resources that could have been spent improving cuda for an ecosystem that was outright bad for a long time didn’t make sense.
Gsync was first, and was better because it solved a hardware problem with hardware. It was a decade before displays came default with hardware where solving it with software was short of laughable. There was nothing nvidia could have done to make freesync better than dogshit. The approach was terrible.
DLSS was first, and was better because it came with hardware capable of actually solving the problem. FSR doesn’t and is inherently never going to be near as useful because of it. The cycles saved are offset significantly by the fact that it needs its own cycles of the same hardware to work.
Opening the standard sounds good, but it doesn’t actually do much unless you also compromise the product massively for compatibility. If you let AMD call FSR DLSS because they badly implement the methods, consumers don’t get anything better. AMD’s “DLSS” still doesn’t work, people now think DLSS is bad, and you get accused of gimping performance on AMD because their cards can’t do the math, all while also making design compromises to facilitate interoperability. And that’s if they even bother doing the work. There have been nvidia technologies that have been able to run on competitor’s cards and that’s exactly what happened.
Citation needed.
All NVIDIA needs to do is:
That’s it. They don’t need to make changes to suit AMD and Intel’s hardware, that’s on those individual companies to make work correctly.
This works really well in many other areas of computing, such as compression algorithms, web standards, USB specs, etc. Once you have a standard, other products can target it and the consumer has a richer selection of compatible products.
Right now, if you want GPGPU, you need to choose between OpenCL and CUDA, and each choice will essentially lock you out of certain product categories. Just a few years ago, the same as true for FreeSync, though FreeSync seems to have won.
But NVIDIA seems to be allergic to open standards, even going so far as to make their own power cable when they could have worked with the existing relevant standards bodies.
deleted by creator
Going through a standards group is a massive compromise. It in and of itself completely kills the marriage between the hardware and software designs. Answering to anyone on architecture design is a huge downgrade that massively degrades the product.
How do you explain PCIe, DDR, and M.2 standards? Maybe we could’ve had similar performance sooner if motherboard vendors did their own thing, but with standardization, we get more variety and broader adoption.
If a company wants or needs a major change, they go through the standards body and all competitors benefit from that work. The time to market for an individual feature may be a little longer, but the overall pace is likely pretty similar, they just need to front load the I/O design work.
Completely and utterly irrelevant? They are explicitly for the purpose of communicating between two pieces of hardware from different manufacturers, and obscenely simple. The entire purpose is to do the same small thing faster. Standardizing communication costs zero.
The architecture of GPUs is many, many orders of magnitude more complex, solving problems many orders more complex than that. There isn’t even a slim possibility that hardware ray tracing would exist if Nvidia hadn’t unilaterally done so and said “this is happening now”. We almost definitely wouldn’t have refresh rate synced displays even today, either. It took Nvidia making a massive investment in showing it was possible and worth doing for a solid decade of completely unusable software solutions before freesync became something that wasn’t vomit inducing.
There is no such thing as innovation on standards. It’s worth the sacrifice for modular PCs. It’s not remotely worth the sacrifice to graphics performance. We’d still be doing the “literally nothing but increasing core count and clocks” race that’s all AMD can do for GPUs if Nvidia needed to involve other manufacturers in their giant leaps forward.