• Ever wanted an RSS feed of all your favorite gaming news sites? Go check out our new Gaming Headlines feed! Read more about it here.

Jedi2016

Member
Oct 27, 2017
15,623
This has been confusing me for years, I've just never gotten around to asking about it.

Sure, hardware like video cards needs updates now and again, I get that.

But why are updates released on damn near a per-game basis? The game was built around whatever already existed during development, so why should we have to rely on the hardware makers to make the games run "up to spec"?

I say "up to spec" because one of the recent Digital Foundry videos made a point of saying they weren't doing performance analysis on Just Cause 4 because the game-specific drivers weren't available. That's what got me thinking about bringing up the question.

I assume there's a reason, I just don't know what it is.
 

Lagamorph

Wrong About Chicken
Member
Oct 26, 2017
7,355
Because the drivers are further tweaked for the final build of the game rather than just leaving it at the driver version being used when the game was in development and changing on an hourly basis.
 

JeffGubb

Giant Bomb
Verified
Oct 25, 2017
842
Because they can. The games will run fine without those drivers, but they could run better. So why not make them run better? It's also marketing for both the game and the video card.
 

mieumieu

Member
Oct 25, 2017
900
The Farplane
Game developers may find bugs or performance issues related to drivers and will communicate with driver vendors to see if they can fix the issues on the driver side.
 

thehunter1320

Member
Oct 25, 2017
251
A lot of developers will invite PC hardware manufacturers to test early versions of the game to optimize their drivers in-tandem with the game's development. It helps make the game run more smoothly on a wider range of hardware on launch day.
 

packy17

Banned
Oct 27, 2017
2,901
They don't take that long to install and they may improve performance. I don't see what the issue is.
 

Springy

Member
Oct 28, 2017
2,213
They don't take that long to install and they may improve performance. I don't see what the issue is.
Pretty sure there isn't an "issue," OP isn't objecting to drivers tailored for new games in principle, just asking for clarification about the processes that lead to their existence.
 

CypherSignal

Member
Oct 25, 2017
1,064
Besides the points mentioned above,
The game was built around whatever already existed during development, so why should we have to rely on the hardware makers to make the games run "up to spec"?

For big or high-end games, they would likely have been built using Beta or Pre-release drivers, that were not otherwise released to the public, to fix issues or improve performance. So the game ready stuff is likely what did exist during development - especially late in the the process.
 
Dec 29, 2017
2,807
Game Developer: Hey Nvidia/AMD, our highly anticipated game that will probable make players want upgrade their video cards will run a little better if you make these changes to the drivers for our game. Can you do that for us?

Nvidia/AMD: No problem.

Game Developer: Thanks.

That is probably what cause them to exist.
 

Vaelic

Banned
Oct 27, 2017
2,048
This has been confusing me for years, I've just never gotten around to asking about it.

Sure, hardware like video cards needs updates now and again, I get that.

But why are updates released on damn near a per-game basis? The game was built around whatever already existed during development, so why should we have to rely on the hardware makers to make the games run "up to spec"?

I say "up to spec" because one of the recent Digital Foundry videos made a point of saying they weren't doing performance analysis on Just Cause 4 because the game-specific drivers weren't available. That's what got me thinking about bringing up the question.

I assume there's a reason, I just don't know what it is.
What's the issue here? Of course it's needed
 

low-G

Member
Oct 25, 2017
8,144
But why are updates released on damn near a per-game basis? The game was built around whatever already existed during development, so why should we have to rely on the hardware makers to make the games run "up to spec"?

There are a billion and one possible scenarios for this. Fundamentally, Nvidia's drivers are to some degree a black box for developers.

Hypothetical example: If a developer wanted to do 20 processes in DirectX, but Nvidia knew that those particular 20 could all be done in a single sub-operation, maybe that's something that isn't particularly (at all?) accessible via DirectX but Nvidia can optimize that particular DirectX call for that particular game to do the 20 in 1 sub-operation.

If Nvidia exposed all that stuff to developers, among other things, it would take writing outside of DirectX spec, meaning a ton more work and a ton more problems.
 

Dr. Caroll

Banned
Oct 27, 2017
8,111
What is a driver? A miserable pile of hacks designed to squeeze out more performance. The higher profile the game, the more benefit there is to getting... creative for more performance. I'm not sure what tricks are used nowdays, but one huge source of controversy back in the Doom 3 days was Nvidia rewriting the game's shaders with their own versions, for better performance. This was seen as "cheating" by some ATI fans. Also, a surprising number of AAA games are not altogether complaint with specs. If you ever see a game that outright refuse to work on an older driver, that's often a case of the developers messing up and the driver writers writing a hack for that game.

Speaking of drivers, though, legacy support is a huge deal. It's not just about making current games run faster. It's about making games from 20+ years ago still run. For example, AMD's modern drivers can't handle KOTOR properly. Been this way since 2015 or so. Nvidia's can. Boils down to better legacy OpenGL support. The quality of drivers can be a huge deal in customer loyalty.
 

Painguy

Banned
Oct 26, 2017
1,024
California
There is no clear cut/most optimal way to write a graphics engine. Many times the algorithms used in a particular game don't play nicely with drivers current implementation of available rendering API's so the drivers are updated to handle those games.

For example maybe a dev is using the glGetBufferSubData function in a weird way. Then Nvidia or AMD will write an alternative implementation of that function tailored to the game in question.
 

devSin

Member
Oct 27, 2017
6,194
This has been confusing me for years, I've just never gotten around to asking about it.

Sure, hardware like video cards needs updates now and again, I get that.

But why are updates released on damn near a per-game basis? The game was built around whatever already existed during development, so why should we have to rely on the hardware makers to make the games run "up to spec"?
Because most games do things incorrectly or in sub-optimal ways, and so the drivers have become an unholy mess of hacks and substitutions that alter the code on a per-game basis to increase performance and improve stability and compatibility.
 

Kyari

Member
Oct 25, 2017
1,848
Nvidia keeps telling me I have Game Ready Drivers ready to install, but I forgot my password to the app so I can't install them and it locked me out of my account :(
 

icecold1983

Banned
Nov 3, 2017
4,243
In nvidias case i think its just marketing. Like i wouldnt be surprised if they were releasing a new driver with no actual changes for the game in question. They almost never show any benefit. With AMD is actually a case of them probly putting in workarounds since they regularly show improvements
 

Kadath

Member
Oct 25, 2017
621
Fundamentally, Nvidia's drivers are to some degree a black box for developers.

This is the essential part.

It's like the game code has a part that is what game devs code themselves, then there's a part that is Nvidia code that no one can see. So there are low level bugs, features and optimizations that only Nvidia can work on and deliver.

This is also why video drivers are becoming bigger and bigger in download. They aren't fixing "bugs", all those drivers cumulatively add custom code that works only on THAT particular game. The more games are out, the more all these individual pieces build a bigger pile.
 

Zelda

Banned
Oct 25, 2017
2,079
I only ever install new drivers when I actually feel the game is underperforming or if the drivers fix something specific, researching beforehand of course. Otherwise installing a new driver for every game release every week seems like a waste of time and bandwidth. New drivers often times break more than they fix.
 

Kadath

Member
Oct 25, 2017
621
Because most games do things incorrectly or in sub-optimal ways, and so the drivers have become an unholy mess of hacks and substitutions that alter the code on a per-game basis to increase performance and improve stability and compatibility.

It's actually the other way around. All chips have hardware bugs and slow downs that ideally shouldn't be there. Only Nvidia engineers know that stuff since all those documents are essentially secret.

So you could write a function that makes perfect sense, and yet it runs extremely slowly because the hardware doesn't behave as you expect (or doesn't do what's supposed to). And it's at the driver level that you can do all sort of speed hacks and "dirty" code to work around certain limits.
 

Arebours

Member
Oct 27, 2017
2,656
It's a thing because gpus are black boxes with no real specs available for developers. Gpus should be like CPUs with extensive architectural and low level documentation available for anyone but instead we know shit about what is actually is going on and big games get huge advantages by having drivers tailored for them. It's an awful situation and I hope some serious competitor will bring nvidia down in the future. The world is worse off for larrabee not happening.
 

Dant21

Member
Apr 24, 2018
842
It's a thing because gpus are black boxes with no real specs available for developers. Gpus should be like CPUs with extensive architectural and low level documentation available for anyone but instead we know shit about what is actually is going on and big games get huge advantages by having drivers tailored for them. It's an awful situation and I hope some serious competitor will bring nvidia down in the future. The world is worse off for larrabee not happening.
Well, you're not really supposed to interact with them at that level, even as a developer. That's intentional and let's the GPU designers make more and more drastic changes to their designs to increase performance and efficiency since they don't have to stay married to a given instruction set like CPUs
 

bruhaha

Banned
Jun 13, 2018
4,122
Many of you are probably too young to remember the Quake/Quack.exe controversy back in the day.

I agree to an extent that optimizing for specific games rather than improving standards like DirectX/OpenGL/Vulkan leads to more confusion and potential cheating, but there's little we can do about it when only 2 companies make graphics cards and both rely on driver optimization for specific games.
 

Painguy

Banned
Oct 26, 2017
1,024
California
It's a thing because gpus are black boxes with no real specs available for developers. Gpus should be like CPUs with extensive architectural and low level documentation available for anyone but instead we know shit about what is actually is going on and big games get huge advantages by having drivers tailored for them. It's an awful situation and I hope some serious competitor will bring nvidia down in the future. The world is worse off for larrabee not happening.


Actually its a general hardware design rule for cpu architects to NOT provide low level details like that for compatability and future proof reasons. You wouldn't want someone writing code optimized for a particular cpus cache then have that code performance change because the next gen cpu changed its cache architecture. We haven't been 100% great at this however, but if you know of any comprehensive implementation documents of an intel CPU please let me know. ;) Me and many others would looooove to know.
 

Valdega

Banned
Sep 7, 2018
1,609
But why are updates released on damn near a per-game basis? The game was built around whatever already existed during development, so why should we have to rely on the hardware makers to make the games run "up to spec"?

Sometimes there are bug fixes and optimizations that require support from Nvidia and AMD. If you want those bug fixes and optimizations, you need the drivers that contain them.
 

Slick Butter

Member
Oct 25, 2017
3,500
It's pretty dang crazy just how much the game specific drivers can do for performance. I remember I played through a good bit of Doom 2016 on my R9 290X without updating, and then once I updated it was like over 50% more frames per second, it was extremely good since I had a high refresh monitor.
 

daninthemix

Member
Nov 2, 2017
5,023
At a minimum the driver needs to add a profile for the game's exe (as see in NVCP / Nvidia Inspector) to set all of those flags (or at least, all those that don't follow the default setting for whatever reason.
 

ChrisJSY

Member
Oct 29, 2017
2,053
More often than not, nvidia drivers for me, my brother, my last system and customers of mine who did it themselves always had a bad experience using the latest drivers like these.
It happened again for BF5, game kept crashing with them, rolled back, all good.

The amount of times this has happened is insane, I always run months old drivers because there is always something wrong, eventually I upgrade as I'm forced to for some games and find one that's working again.
 

Arebours

Member
Oct 27, 2017
2,656
Well, you're not really supposed to interact with them at that level, even as a developer. That's intentional and let's the GPU designers make more and more drastic changes to their designs to increase performance and efficiency since they don't have to stay married to a given instruction set like CPUs
I'd argue staying married to an isa(like with cpus) would be a much better option and I'd also argue that the current black-box model only serves to benefit the big gpu companies. There is no reason we shouldn't be "supposed" to interact with gpus on that level, especially considering how crappy the apis we currently have are. The fact of the matter is that code runs on hardware - not opengl, not directx, not vulkan or whatever software platform people think it runs on, and that fact means that in order to write fast code you need to know the hardware. With cpus we can learn about the hardware to a sufficient level where you don't need intels help to performance tune your program. On gpus you are at the mercy of the gpu vendors, how is that not the shitties imaginable situation?

Actually its a general hardware design rule for cpu architects to NOT provide low level details like that for compatability and future proof reasons. You wouldn't want someone writing code optimized for a particular cpus cache then have that code performance change because the next gen cpu changed its cache architecture. We haven't been 100% great at this however, but if you know of any comprehensive implementation documents of an intel CPU please let me know. ;) Me and many others would looooove to know.
Well it's a matter of degree. With gpus it's almost like you are programming toward a completely opaque virtual machine. With cpus we have access to the instruction set, latencies, detailed architectural information and so on. Could you imagine if cpus were more like gpus in that regard? We would have total chaos(which writing cross platform gpu code often feels like). Well gpus are becoming more like cpus so I don't get why people defend these practices when the alternative is so obviously better.
 
Last edited:

TSM

Member
Oct 27, 2017
5,821
Back when AMD used to actually compete at the high end day one drivers were an important tool for the GPU manufacturers to shine during benchmarking. A loss in performance to the competition in big games could mean a loss in market share. A big win in performance on a big game could move a whole lot of your cards. I'd imagine Nvidia still feels it's an important tool to move their lower and mid range cards considering AMD still has a significant presence there.
 

Vintage

Member
Oct 27, 2017
1,293
Europe
A lot of drivers actually fix developers' mistakes. Nvidia/AMD have powerful profiling tools so they see performance bottlenecks and misuses of drivers. Sometimes it goes as far as actually replacing game's shader code with their own, more optimised version. That's why these driver installs are so big
 

elenarie

Game Developer
Verified
Jun 10, 2018
9,800
In a nutshell, because game teams and engineers from nVidia / AMD / Intel work together to solve rendering problems and provide the best experience possible. Be those issues with the game code or the drivers code or both. Both game teams and those three companies benefit greatly from working together.
 

Patitoloco

Member
Oct 27, 2017
23,614
They create specific profiles for new games, to correctly use antialiasing, ambient occlusion etc. You can see it in the Nvidia Inspector. That + bugfixes
 

Oddhouse

Member
Oct 31, 2017
1,036
I've always wondered this as well. To add to the question; when updates are made to accommodate a new game does that mean drivers become unoptimised for pervious games ?

To those asking what the problem is - I don't think there is one, it's an inquisitive question from somebody learning. I've always wondered as well but not enough to ask, but since somebody is asking I'll see why people think it is :-).