So, drivers are how your computer talks to hardware inside it, like the video card. The video card is used to offload a bunch of difficult math that the processor can’t be bothered with.
Driver updates happen when someone figures out a more efficient way for the driver to do that math, or adds a different way for your video games to ask for the math to be done. Up-to-date drivers typically give you performance improvements, but you don’t really -need- to update unless you’re trying to run a game that keeps crashing because it’s asking for math the driver can’t handle.
At the most basic level, a driver is responsible for translating from the generic high-level graphics framework (e.g. DirectX) into the primitive instruction set and I/O protocol which is understood by the GPU itself. The high-level graphics framework is what is used to build game engines, and game engines are what manage the art assets and agent scripts which comprise a video game. The translation handled by the graphics driver is quite complex and can have bugs, which are usually fixed by the GPU manufacturer (e.g. Nvidia) in concert with the graphics framework maintainer (e.g. Microsoft).
This layer-cake model means that game developers can build the game without having to understand the intricacies of the game engine, while game engine developers only need to understand the graphics framework (e.g. DirectX) and don’t need to understand the details of the GPU itself.
That’s the most basic level. The actual reality of it is considerably messier. As a practical matter, graphics drivers often have game-specific code which is designed to optimize specific game engine components or even specific scripted sequences within specific games built on specific game engines in order to improve their performance beyond what would be possible when strictly living within the layer model I outlined. These are very hacky tricks, but they’re as old as graphics cards themselves and they allow for performance which far exceeds what would otherwise be possible. High profile game developers will work with graphics card companies to insert these types of optimizations and get direct help on improving their game engine. Most recently (and quite infamously), we saw what an impact this could have with how well Jedi Survivor performed on AMD GPUs at launch and how poorly it performed on Nvidia. Fixing such issues is a matter of updating the game engine to better utilize the GPU (meaning game developers need to understand “through” the graphics framework abstraction down to the hardware) as well as updating the graphics drivers to better understand the game.
This is *most* of what is changing when you update your graphics drivers: bug fixes and game-specific hacks. In some rare cases, the GPU microcode can be updated to resolve or work around problems in the hardware, but this is very uncommon.
Drivers control hardware and give software a simplified general way to use the hardware. You Know how your hard drive is full of files, it’s because you have a filesystem driver, which allows software (like games and other stuff) to access certain places on the drive without knowing exactly how to fetch it from the drive.
You don’t *need* to update the drivers, but graphics cards are pretty complicated and so are heir drivers and the driver developers frequently figure out better ways to use the hardware. Graphics card drivers are often a collection of drivers for lots of different cards so updates may bring along a new driver for a new card.
In the context of computers, drivers are software that make it possible for one software to talk to a device. With video cards, they allow the computer’s operating system send commands to the video card. You can think of it like an interpreter between two people speaking different languages.
Driver updates can provide performance updates, fix bugs, or add new features that make it possible to use the latest features of new software like games. It’s a bit like having the interpreter take a language course to expand their vocabulary and fix grammar mistakes they used to make before.
Explained like you’re five, video card drivers are like a spoon when you’re trying eat soup. You could eat with your hand but the soup might be hot. The spoon helps you eat soup.
In the same way, a video card driver helps your game run on the video card without having to do the hard stuff, like burning your hand with hot soup.
I will add that before the usage of graphic API like Directx, OpenGL, Vulkan… the game had to be aware of how to send instructions to the graphic card but they all work differently. For this reason, the game devoppers had to decide which card they want to support and write different part of codes for each.
When you were launching a game back then (DOS era), a setup menu was displayed and you had to select your graphic card from the list supported by the game.
The usage of APIs greatly reduce the workload for the game developers as they only have to write code for the API they want to support and it’s the job of the graphic card driver to translate those standardized API calls to the specific GPU instructions.
Latest Answers