• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Nvidia driver optimizations vs Vulkan/DX12

amenx

Diamond Member
How much room does Nvidia have re driver optimizations now that driver overhead is significantly reduced (or eliminated) with low level APIs like Vulkan/DX12? I understand that AMDs hardware is better designed or more capable of working with low level APIs than Nvidias, and short of new architecure (ie, Volta) to address these shortcomings, where does that leave Nvidia? In terms of compensating one way or another on the driver front?

I noticed decent gains in Vulkan for Nvidia in Dota 2 (vs DX11 but not opengl) and little to nothing vs Doom's opengl. So where does Nvidia stand vs upcoming games with Vulkan support? Will game engines with Vulkan support vary in performance? From general sentiment I hear @ AT is that anything with Vulkan support will follow the Doom pattern with Nvidia at a severe disadvantage and is therefore "Doomed" 😀. So where will things likely stand with their current hardware lineup (Pascal)?
 
How much room does Nvidia have re driver optimizations now that driver overhead is significantly reduced (or eliminated) with low level APIs like Vulkan/DX12? I understand that AMDs hardware is better designed or more capable of working with low level APIs than Nvidias, and short of new architecure (ie, Volta) to address these shortcomings, where does that leave Nvidia? In terms of compensating one way or another on the driver front?

I noticed decent gains in Vulkan for Nvidia in Dota 2 (vs DX11 but not opengl) and little to nothing vs Doom's opengl. So where does Nvidia stand vs upcoming games with Vulkan support? Will game engines with Vulkan support vary in performance? From general sentiment I hear @ AT is that anything with Vulkan support will follow the Doom pattern with Nvidia at a severe disadvantage and is therefore "Doomed" 😀. So where will things likely stand with their current hardware lineup (Pascal)?

They could still do shader interception- detect a specific shader program, and replace it with one that has been optimized for NVidia architectures.
 
NV gains in Vulkan with Doom at lower resolution due to CPU bound scenarios which Vulkan lifts, benefiting all GPUs.

Other gains depends on whether the hardware support it or not, or even if the driver is capable. Despite a low-level approach, drivers are still important.

If you want to know whether it's like DX11 and prior API, where AMD/NV can fix dev sloppy code, then no. I saw AMD folks awhile ago, commented that DX12/Vulkan does not allow them to intercept shaders and recompile it to be more optimized because of it's low-level nature. If devs do something sloppy, AMD has to get hands on at the source and fix it.
 
Nvidia's opengl support has always been much better than AMD's. Again I see Vulcan as a way of leveling the playing field so AMD hardware gets used properly.

Nvidia was pretty much already there performance wise.
 
Vulkan is still very immature for everyone involved. I suspect both companies will continue to gain in it for a while as corner case bugs are eliminated and the teams have time to gnaw on the new API more
 
If you want to know whether it's like DX11 and prior API, where AMD/NV can fix dev sloppy code, then no. I saw AMD folks awhile ago, commented that DX12/Vulkan does not allow them to intercept shaders and recompile it to be more optimized because of it's low-level nature. If devs do something sloppy, AMD has to get hands on at the source and fix it.

I'm not sure I believe that. They have to compile each shader anyway, so why shouldn't they be able to replace them?
 
Even with the multithreaded command lists that NVidia's got for D3D 11, it's not even close to reaching parity with Vulkan/D3D12. It takes a bunch of effort on both the developer & the GPU vendor to implement, and still faces a ceiling.

Suppose ya have four cores, and you're at the ol' 6,000 draw call limit fer a single core. 6k * 4 = 24,000 draw calls. The new APIs, 'owever, are doing more than double that on a single core, and are supposed ta be extremely easy to parallelize.

Of course, there aren't many games that push past the ol' 6k draw calls, but eh. Point still stands, and games are gonna be gettin' more and more stuff put in 'em.
 
Even with the multithreaded command lists that NVidia's got for D3D 11, it's not even close to reaching parity with Vulkan/D3D12. It takes a bunch of effort on both the developer & the GPU vendor to implement, and still faces a ceiling.

Suppose ya have four cores, and you're at the ol' 6,000 draw call limit fer a single core. 6k * 4 = 24,000 draw calls. The new APIs, 'owever, are doing more than double that on a single core, and are supposed ta be extremely easy to parallelize.

Of course, there aren't many games that push past the ol' 6k draw calls, but eh. Point still stands, and games are gonna be gettin' more and more stuff put in 'em.

I wonder if games are heading towards being more GPU driven..

Do we really need to be pushing thousands of draw calls with the CPU? I don't know, but some games are able to make do with just a few.
 
I think it's more a case of Nvidia have had very well optimised drivers for a long time, and now that AMD have the ability to reduce their overheads we are finally seeing their hardware as it should be.

Found a good explanation here:

http://forums.bit-tech.net/showpost.php?p=4114663&postcount=1138

Good stuff, especially the last bit comparing the 970 vs the 390. Amazing how much power was left unused in DX11 on the latest AMD cards.
 
Yeah, unfortunately so much wasted resources in DX11 for AMD. Looking forward, we will be seeing these resources actually bring used.
 
Back
Top