• 520@kbin.social
    link
    fedilink
    arrow-up
    74
    arrow-down
    1
    ·
    edit-2
    7 months ago

    The main use case of this is in porting. So if someone wanted to make a native port of their game, this library would make it potentially much easier.

    • SuperIce@lemmy.world
      link
      fedilink
      English
      arrow-up
      29
      arrow-down
      2
      ·
      7 months ago

      But why this instead of DXVK or VKD3D? Those can just as easily be integrated.

      • angrymouse@lemmy.world
        link
        fedilink
        arrow-up
        17
        arrow-down
        3
        ·
        edit-2
        7 months ago

        Both use wine iirc, Op is talking about applications written directly for Linux.

        Edit: im wrong

        • SuperIce@lemmy.world
          link
          fedilink
          English
          arrow-up
          55
          ·
          7 months ago

          Wine uses VKD3D and DXVK, not the other way around. People have even used DXVK on Windows to improve performance in certain situations.

            • Atemu@lemmy.ml
              link
              fedilink
              arrow-up
              18
              arrow-down
              1
              ·
              7 months ago

              There is no such thing as “directly” DX. The drivers of the major GPU vendors on Windows must also implement DX ontop of their internal abstractions over the hardware.

              While Vulkan will theoretically always have more “overhead” compared to using the hardware directly in the best possible manner, the latter isn’t even close to being done anywhere as it’s not feasible.

              Therefore, situations where a driver implemented atop of VK being faster than a “native” driver are absolutely possible, though not yet common. Other real-world scenarios include Mesa’s Zink atop of AMD’s Windows VK driver being much better than AMD’s “native” OpenGL driver, leading to a dev studio of an aircraft sim shipping it in a real game.

            • 520@kbin.social
              link
              fedilink
              arrow-up
              3
              ·
              edit-2
              7 months ago

              IIRC the main DXVK dev does this for debugging purposes.

              As to why it might be faster, it depends on the DX implementation and what it’s being transformed into. If the original DX implementation, especially pre-DX12, is wasteful in terms of instructions, and DXVK knows of a better way to do the exact same thing in Vulkan, it can potentially offset the translation costs.

            • ⸻ Ban DHMO 🇦🇺 ⸻@aussie.zone
              link
              fedilink
              English
              arrow-up
              2
              ·
              7 months ago

              The APIs aren’t wildly different so it’s not so much translation but an implementation of the DirectX API. Some GPU vendors have better Vulkan drivers than DX (Intel) which may give performance improvements.

            • Kekin@lemy.lol
              link
              fedilink
              arrow-up
              2
              ·
              7 months ago

              I used DXVK for Dragon’s Dogma on Windows because it ran better overall, vs Directx 9 which the game uses natively.

              This was on an AMD Rx 6800 xt

            • SimplyTadpole@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              1
              ·
              7 months ago

              Besides speed, it’s also really useful for older games with unstable graphics renderers that don’t play nice with modern hardware. When I was still on Windows, I used DXVK on Fallout: New Vegas and Driver: Parallel Lines, and they decreased crashes by a LOT compared to when they ran on native DX9.

              In terms of speed, obviously I didn’t notice much of a difference with D:PL since it’s a 2006 game that’s not demanding at all, but I did notice F:NV seemed to also run better and less laggy in general (not only is FNV poorly-optimized, but I also use a lot of graphics mods for it).