Vulkan、DXVK、VKD3D的区别与联系

@Ta 2020-12-08发布,2020-12-08修改 22655点击

Vulkan和DirectX(DX9/DX10/DX11/DX12)、OpenGL一样是一种3D加速图形接口,目前主要是Linux(包括安卓)在使用,Windows也能用,不过Windows游戏更喜欢用DirectX(DX9/10/11/12)。

那么DXVK是什么?众所周知,Linux不支持DirectX。但是很多Windows游戏只支持DirectX。

那这些游戏怎么运行呢?就需要一套软件,把游戏的DirectX调用转换为Linux支持的其他3D图形接口调用。

这样的转换软件有以下几种:

  1. WineD3D,由wine官方团队编写,用于将DX9/DX10/DX11调用转换为OpenGL。但是OpenGL性能一直比较弱,而且其实不适合进行3D游戏加速,所以效果很差,并且不支持DX12。

  2. D9VK,由爱好者编写,用于将DX9调用转换为Vulkan。Vulkan和DX12一样是现代图形接口,性能很不错。所以转换效果非常好,不输原生性能。现已合并到DXVK中。

  3. DXVK,由爱好者编写,V社参与维护,用于将DX9/10/11调用转换为Vulkan。效果不错,很多时候不输原生性能。但是不支持DX12。

  4. 原版VKD3D,由wine官方团队编写,用于将DX12调用转换为Vulkan。进展较慢,支持的游戏较少,目前没多少人在使用。

  5. VKD3D-Proton,由V社主导维护的VKD3D修改版,主要是以支持Steam上的DX12游戏为目标。支持的游戏比原版VKD3D多得多,很多非Steam的DX12游戏也能玩。目前我们使用的VKD3D实际上都是VKD3D-Proton。

所以,要在Linux上玩DX9/10/11游戏,需要DXVK。要在Linux上玩DX12游戏,需要VKD3D。而要让DXVK和VKD3D工作,显卡必须支持Vulkan,并且必须装好Vulkan驱动。

这就是它们之间的关系。

回复列表(4|隐藏机器人聊天)
  • @Ta / 2020-12-09 / /

    不明觉厉
    ~~~

  • @Ta / 2020-12-10 / /
    写得好 顶一个【表情:大拇指】
  • @Ta / 2020-12-10 / /

    老虎维基 日后需要来搜索看下

    Screenshot_2020-12-10-10-41-26-351_com.android.chrome.jpg
    我们有着共同的敌人——天命;
    你却认命了,还对我说天命不可违‮

  • @Ta / 2020-12-10 / /
    谢谢  解答了我的困惑
添加新回复
回复需要登录