DX 包装器:DXVK、WineD3D、VKD3D、CNC DDraw 怎么按游戏选
包装器是干什么的
Windows 游戏用 DirectX 发出画图指令,但手机 GPU 只认 Vulkan 或 OpenGL。DX Wrapper(DX 和 D3D 下拉框)站在中间做转译——选哪个包装器,决定游戏画面走哪条管道。
四个包装器的分工
| 包装器 | 转译什么 | 依赖 | 用在哪 |
|---|---|---|---|
| DXVK | DirectX 9/10/11 → Vulkan | Turnip(Vulkan) | 绝大多数 3D 游戏的首选,Adreno 上通常最快 |
| WineD3D | DirectX → OpenGL | 任何驱动 | 兼容打底,DXVK 异常时的退路 |
| VKD3D | DirectX 12 → Vulkan | Turnip | DX12 游戏,实验性 |
| CNC DDraw | DirectDraw → OpenGL | 任何驱动 | DirectDraw 时代的最老游戏 |
另有 D8VK(DX8→Vulkan)与 D7VK(v11.1 起作为 DDraw 包装器选项)两个补充成员,部分版本可见。
官方默认与试错顺序
新容器默认 DXVK,这个默认对多数 3D 游戏成立。跑不通时按这个顺序试:
3D 游戏:DXVK → WineD3D → 换图形驱动(见下)
DX12 游戏:VKD3D(起不来就放弃,属实验性)
最老游戏:CNC DDraw 直接上
典型案例
- 2D 老游戏在 DXVK 下黑屏:不少 2D 游戏依赖老 DirectX,换 WineD3D 常直接解决,这是社区高频配方。
- DXVK 下花屏、贴图错乱:先降 DXVK 版本再考虑退 WineD3D——新版不一定更兼容老游戏。
- 老即时战略、老策略游戏:DirectDraw 时代的直接 CNC DDraw,别浪费时间和 DXVK 较劲。
包装器也有配置项
DXVK 选中时旁边出现 Configure 按钮,可设帧率上限、HUD 元素、着色器缓存行为等,存成配置串随容器生效。给游戏锁 30 帧省电、开 HUD 看负载,都在这里做。
换包装器这类「按游戏单独试」的操作,正确姿势是在快捷方式里覆盖而不是改容器,见快捷方式覆盖。