The GPU drivers often have slightly different behavior depending on game or program, which is using them. It optimizes performance, bypasses bugs and improves overall experience in popular games, especially demanding AAA ones. There was even a question on this stack about it a few years ago.

This strategy seems reasonable in the world of high level GPU APIs, like Direct3D up to 11 and OpenGL. These standards are very complicated, drivers don't comply with them perfectly and much of computation burden is pushed to the driver.

But what about the new, low level APIs like Direct3D 12, Vulkan and Metal? The standards are simpler for drivers to implement correctly and less computations are hidden inside the driver, they are in the hands of game authors. There seems to be just much less to do on driver side about improving game experience.

Are GPU drivers hand optimized for specific applications using low level APIs?

  • \$\begingroup\$ This might be a question to ask GPU driver developers themselves. As game developers, we don't necessarily have the insider view here. We'll be better able to tell you about the effects of drivers on games & game development strategies. Have you observed an issue with a GPU driver that's impacting your game development work? That's the type of question we'll be better-equipped to help answer here. \$\endgroup\$ – DMGregory Sep 1 '18 at 17:49
  • 1
    \$\begingroup\$ @DMGregory Thank you for the feedback, you make a good point. Probably sending and email to NVidia or asking on their Reddit is a better option. I thought that game developers may know the answer, because that's something directly affecting their work and thus interesting. The excellent answer to a question I've linked seems to confirm this assumption. I'm not a game developer, I'm just curious, I hope it's not a bad thing. \$\endgroup\$ – CodeSandwich Sep 1 '18 at 20:33
  • \$\begingroup\$ Not bad, but this site is mainly directed to helping game developers solve specific issues they encounter in developing their games & mods. We're not as well set up for answering questions of pure curiosity. \$\endgroup\$ – DMGregory Sep 1 '18 at 20:42
  • \$\begingroup\$ Historically driver writers do in fact do a lot of tricks to make specific games run faster for benchmarks, marketing, etc. These days that includes things like substituting hand-tuned shaders, which is still possible with the modern standards. In fact, with DX12's PSO model it's likely they can do even more of those specific substitutions if they cared to. That said, none of this stuff is 'above board' meaning it's not part of any specification or official platform policy. It's just a reality of the video card business. There's a long history of shenanigans there that isn't likely to stop. \$\endgroup\$ – Chuck Walbourn Sep 6 '18 at 16:27
  • \$\begingroup\$ The trade-off of using these low-level APIs is that the game itself has to take care of all the details, much of which was "magic" dealt with by the API and/or drivers before. That gives more control, but it also means that the game developer has to do a LOT more testing to ensure that it actually works across the broad range of video hardware and system configurations, and in stress situations. IOW: It's harder to write a robust game that's "good enough" on all systems, but it's easier to make it "really good" on specific hardware. \$\endgroup\$ – Chuck Walbourn Sep 6 '18 at 16:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.