this post was submitted on 25 Aug 2023
85 points (94.7% liked)
Games
16762 readers
1471 users here now
Video game news oriented community. No NanoUFO is not a bot :)
Posts.
- News oriented content (general reviews, previews or retrospectives allowed).
- Broad discussion posts (preferably not only about a specific game).
- No humor/memes etc..
- No affiliate links
- No advertising.
- No clickbait, editorialized, sensational titles. State the game in question in the title. No all caps.
- No self promotion.
- No duplicate posts, newer post will be deleted unless there is more discussion in one of the posts.
- No politics.
Comments.
- No personal attacks.
- Obey instance rules.
- No low effort comments(one or two words, emoji etc..)
- Please use spoiler tags for spoilers.
My goal is just to have a community where people can go and see what new game news is out for the day and comment on it.
Other communities:
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I wish Nvidia and AMD would work together to create these features as open standards.
Well, FSR is open, as is FreeSync and most other AMD tech, it's just that NVIDIA is so dominant that there's really no reason for them to use anything other than their own proprietary tech. If Intel can eat away at NVIDIA market share, maybe we'll see some more openness.
I guess they could just use FSR as a wrapper for DLSS, but they made DLSS because there was nothing like it available, and it leverages the hardware to absolutely blow doors off of FSR. They're not comparable effects.
Last I checked, DLSS requires work by the developers to work properly, so it's less "leveraging the hardware" and more "leveraging better data," though maybe FSR 3 has a similar process.
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.
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.
DLSS and RTX are the same way, but instead of communicating between two hardware products, it's communicating between two software components, and then translating those messages onto commands for specialized hardware.
Both DLSS and RTX are a simpler, more specific casez of GPGPU, so they likely could've opened and extended CUDA, extended OpenCL, or extended Vulkan/DirectX instead, with the hardware reporting whether it can handle DLSS or RTX extensions efficiently. CPUs do exactly that for things like SIMD instructions, and compilers change the code depending on the features that CPU exposes.
But instead in all of those cases, they went with proprietary and minimal documentation. That means it was intentional that they don't want competitors to compete directly using those technologies, and instead expect them to make their own competing APIs.
Here's how the standards track should work:
That's it. Step 1 shouldn't take much effort, and if they did a good job designing the standard, step 5 should be pretty small.
But instead, NVIDIA ignores the whole process and just does their own thing until either they get their way or they're essentially forced to adopt the standard. They basically lost the GSync fight (after years of winning), and they seem to have lost the Wayland EGLStream proposal and have adopted the GBM standard. But they win more than they lose, so they keep doing it.
That's why we need competition, not because NVIDIA isn't innovating, but because NVIDIA is innovating in a way to lock out competition. If AMD and Intel can eat away at NVIDIA's dominant market share, NVIDIA will be forced to pay nice more often.
Every single thing about what you're discussing literally guarantees that GPUs are dogshit. There's no path to any of the features we're discussing getting accepted to open standards if AMD has input. They only added them after Nvidia proved how much better they are than brute force by putting them in people's hands.
Standards do not and fundamentally cannot work when actual innovation is called for. Nvidia competing is exactly 100% of the reason we have the technology we have. We'd be a decade behind, bare minimum, if AMD had any input at all in a standards body that controlled what Nvidia can make.
We're not going to agree, though, so I'll stop here.
The process I detailed does not require consensus before a product can be released, it just allows for that consensus to happen eventually. So by definition, it won't impede progress. It does encourage direct competition, and that's something NVIDIA would rather avoid.