Announcement

Collapse
No announcement yet.

Vulkan Getting Another Extension To Help With DXVK/Direct3D Performance

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by TemplarGR View Post
    Yes, D3D11 can potentially be FASTER on Vulkan due to the reasons i said. D3D11 to Vulkan translation does not add nearly the same latency it adds when translating to OpenGL. Vulkan is pretty close to metal so essentially it comes close to the official D3D11 driver implementation gpu drivers use on Windows. After all, a gpu D3D11 windows driver does the same fucking thing, it takes Direct3D11 calls from the official Microsoft binary and translates it to machine code for the gpu. Possibly using an intermediate layer first, i don't know, closed source gpu drivers are closed source.
    Any latency added is larger than zero. Unless you mean that it's faster than OpenGL, but that's not what I understood from your post. I understood "faster than native".

    Originally posted by TemplarGR View Post
    But the thing is, the usual procedure on D3D11 is: game engine----> Microsoft D3D11 library ----> Intel/Nvidia/AMD direct3d11 layer on the driver ----> (possibly intermediate layer)-----> machine code on the gpu. All Vulkan does is removing the direct3d11 layer on the gpu driver, and the need for a large Direct3D11/OpenGL library. Game engine on Vulkan does most of the D3D11 library stuff (that is why it is harder to code for). And the intermediate layer is expanded to accept API calls directly and gets called "Vulkan driver"...
    Vulkan is not a 1:1 implementation of a GPU's internals. But EVEN if it was, it would still add zero latency compared to native D3D11, and thus it will NEVER BE FASTER, just equally as fast.

    You can't seriously be this dense? I mean, it's obvious as fuck: if Vulkan really "was faster", then what the fuck stops Intel/Nvidia/AMD to convert D3D11 to the Vulkan ops in the driver layer?!???? The fact is that it isn't, though, and usually it converts D3D11 directly to something LOWER LEVEL than Vulkan. So it's like (omitting intermediate layer):

    Code:
    Native: D3D11 -> vendor D3D11 layer -> machine code
    Vulkan: D3D11 -> Vulkan -> vendor Vulkan layer -> machine code
    Your only hope here is that "Vulkan + vendor Vulkan layer" is <= "vendor D3D11 layer" which is simply BULLSHIT because even if it WERE, then what stops the vendor from making the D3D11 layer directly translate to their Vulkan driver, in effect being at LEAST as efficient as the Vulkan wrapper?

    Originally posted by TemplarGR View Post
    So it makes sense that if you use a Direct3D11 to Vulkan translation library, you essentially trade the d3d11 driver frontend with DXVK in the toolchain. So performance should be pretty close to native, assuming optimal Vulkan drivers and optimized DXVK.
    Pretty close, perhaps, but the absolute limit is "as fast as native" which is extremely unlikely, mind you, and it's not what you claimed. There's a huge difference between "pretty close" and "faster". The latter is literally impossible, unless the driver vendors are incompetent which isn't going to happen (hint: if they D3D11 layer sucks, their Vulkan layer is gonna probably suck too).

    Originally posted by TemplarGR View Post
    And since official windows direct3d11 drivers have certain limitations, DXVK could POTENTIALLY improve performance in the future. For example, AMD drivers do not support command lists in direct3d11. This make them perform much worse than they could. DXVK could add support for them since Vulkan DOES support them, and thus provide better multicore performance for AMD gpus than the official drivers... Sure, this would add a lot of work and it is possibly too much for the DXVK developer alone, but it is potentially doable...
    Have you ever thought that if AMD's drivers lack a D3D11 feature, that they also possibly lack the equivalent feature in Vulkan? Same driver, after all.

    Originally posted by TemplarGR View Post
    Also, you can get improved performance on Nvidia gpus right now, by limiting max tesselation factor to sane levels, something you can't do with Nvidia drivers.
    Ehm, that doesn't count. It's like saying you use a custom wrapper that reduces quality for performance.

    Originally posted by TemplarGR View Post
    I don't know what the DXVK developer claims, but he is hardly a guru on Direct3D and Vulkan. He is just a young guy beginning a translation library as a hobby and getting so succesful that got hired by Valve. He is just NOW learning the ropes. I am pretty sure once the proper implementation gets completed and he gets to only occupy himself with bugfixing and optimization, he will soon reach my own conclusion: DXVK has a lot of room for optimization and can potentially surpass direct3d even on windows.
    FWIW he said on average it's between 50% speed of native to 80%, and that further *large* optimizations are "unlikely".

    Comment

    Working...
    X