I like to know the technical aspects of it. Game developers use APIs like OpenGL or DirectX. The functions provided by these APIs, I would assume, work flawlessly with all graphic cards because they are fixed and do not change - except if there is a new version of it - and are of some sort mathematically correct. So how does it come that Nvidia and AMD have to update their drivers to fix visual bugs or performances? What are the problems? Furthermore, I would like to know if Nvidia and AMD are providing these improvements on their own behalf or if the game developers cooperate with them by making some sort of paid contracts.
-
1$\begingroup$ This is pure speculation, but it could be (1) the ISVs are exercising the APIs in ways not previously encountered and "features" in older drivers are exposed or (2) they are working with vendor-supplied beta-versions that perhaps have performance improvements (eg a better shader compiler). $\endgroup$– Simon FCommented May 7, 2021 at 9:36
2 Answers
Games, Triple A games in particular, tend to push graphics cards to their limits, computation capabilities, bandwidth, and drivers all get stressed heavily. This tends to cause even the smallest bug, or inefficiency in the driver to become a glaring problem resulting in "glitches", slow frame rates, game crashes and rendering quality issues.
These "bugs" and inefficiencies can be very specific and often only occur when certain sequences of operations happen, which are often specific to a particular game. The range of issues that they run into tend to run the gamut from simple brain dead bugs, to show stopping monsters that everyone spends weeks agonizing over, to minor tweaks that improve visuals.
During game development vendors will provide driver updates that address these issues directly to game developers, or put the updates in a "beta" driver and release it publicly so anyone, including the developers, can install it. This allows games to be tested, developed and updated before being released.
How closely a vendor works with a game developer is going to depend heavily on the size of the project and the issues they are encountering. Sometimes this will mean going so far as having engineers from the GPU vendor actually join the game development team, and spend time on site working through the various problems that come up. Other times it can be just an updated driver dropped on the public beta website.
When the game is nearing release game developers and vendors will work together to release the updated driver with the game, this sometimes even includes shipping the updated driver with the actual game. For smaller projects vendors might no be as accommodating. It is in the best interest of both game developers and GPU vendors to work together, especially on large projects.
It would be naïve to assume that the two don't come to some sort of monetary agreement when developing a game, especially when a game gets advertised with statements like "Made for XYZ gpu vendor."
Nvidia uses a technique called DLSS (deep learning super sampling) with their latest graphic cards. It basically uses AI to upscale your image. So for example, you render in a resolution of 1080p and get an upscaled image in 4k that is barely distinguishable from a native 4k render. They train the AI with a lot of image samples from the corresponding game and distribute the training data with the drivers. From the source I linked:
DLSS uses the power of NVIDIA’s supercomputers to train and improve its AI model. The updated models are delivered to your GeForce RTX PC through Game Ready Drivers.
I can't tell you if this is the sole reason, but it is certainly one of them. Not sure if AMD does something similar (I guess they do).
I can't answer your second question, but I guess it is some sort of cooperation between Nvidia/AMD and the big players in the game industry since both benefit from it to sell their products.
-
3$\begingroup$ You can argue that DLSS is one part of it in the recent two years. But what about the years 2000 - 2018? I mean, its not like they have started to update their drivers for games just two years ago... $\endgroup$ Commented May 7, 2021 at 13:38