6 ms·
This is actually what most gpu driver updates are. Instead of devs fixing their games, nvidia calcilated its in their best interest to just fix the game bugs at
by Racing0461 3y ago
This is actually what most gpu driver updates are. Instead of devs fixing their games, nvidia calcilated its in their best interest to just fix the game bugs at the gpu driver level and push updates.
- hoten 3y agoIs this done by intercepting the API calls made to the GPU, or by directly modifying the game binary instructions?
- magnat 3y agoModifying binaries (on disk or in RAM) would be detected by anti cheat mechanisms. Most likely they change how to interpret a certain sequence of API calls or replace shaders with their optimized versions.
- Racing0461 3y agoYeah, i guess i shouldn't have said "bug" in the traditional sense. More like "lets rewrite the gpu calls for this game instead of getting 53 avg fps, they now get 60 avg fps) since we (being nvidia) knows it better. Most likely when a game is released, the team that build it disbands to work ons omething else and wont have time for performance hacks like this.
- zten 3y agoSee the infamous story about Quack 3 on ATI Radeon cards.
- deaddodo 3y agoHere's the link, for those interested: https://techreport.com/review/how-atis-drivers-optimize-quake-iii/ https://techreport.com/review/how-atis-drivers-optimize-quak... Personally, I don't believe this is a good example; as this was ATI purposefully crippling the experience (downscaling textures, being the prime aspect) to cheat benchmarks. OP is more referring to "transparent" optimizations (the same experience, but made to run faster for the GPUs architecture, usually via operation reordering or shader modifications).
- zten 3y agoAh, yes, that's true, it's usually not done maliciously like the ATI example. It came to mind because it was a well-documented case of the driver being aware of the application and changing behavior.
- account42 3y agoNewer APIs even have the program provide more detailed information [0] so workarounds can more easily apply to e.g. multiple games using the same engine. Renaming the executable won't be enough to test for / disable this kind of hack today. [0] https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkApplicationInfo.html https://registry.khronos.org/vulkan/specs/1.3-extensions/man...
- chii 3y ago> fix the game bugs at the gpu driver level and push updates it's because the nvidia drivers are opaque blobs, rather than a source distribution. If nvidia distributed their drivers as open source, i would imagine developers would likely "fix" their games properly because they'd be able to see what is going on underneath the hood, and write more optimal code. of course, this removes some "competitive advantage" nvidia has over their AMD counterpart.
- bdhcuidbebe 3y agoThose games stopped receiving updates years ago.
- slikrick 3y agosource code distribution has literally nothing to do with it. all of what you say could apply to AMD or Intel but doesn't loo
- account42 3y agoOpen source drivers also carry workarounds for buggy OpenGL [0] and Vulkan [1] programs. [0] https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/util/00-mesa-defaults.conf https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/uti... [1] https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/util/00-radv-defaults.conf https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/uti... Yes, these should be fixed properly in the programs instead of the driver but more often than not they won't users don't care that its the program being buggy when it works with another driver because it either doesn't trigger the bug or has its own workaround. The opposite also exists of course - application workaround for driver bugs. Or for bugs in crappy third-party code that gamers like to inject into the process, e.g. the Steam overlay. If anything, AMD drivers probably have more workarounds as devs are more likely to test with NVidia due to the unbalanced market share.