指南概要本指南针对高版本 Windows 10/11 下运行圣战客户端时出现的崩溃问题,通过兼容性设置、dgVoodoo2 渲染包装与 GPU 超时(TDR)调整,使游戏稳定运行。按以下五步顺序操作即可。
Windows 10/11 内置的旧 DirectX 兼容层会将老游戏的渲染指令翻译到 Direct3D 12。这个翻译过程不稳定,会导致两类崩溃:
D3D12Core.dll,内存访问违例(c0000005)VIDEO_TDR_FAILURE)右键 圣战.exe → 属性 → 兼容性,设置:
GitHub 地址(在浏览器中打开):
找到最新版本下载。在不灭官网也可以点击这个链接下载 dgVoodoo2_8x_x.zip:
另外,下载这个包,按照说明也执行上去,效果更佳 Directx更新包:
C:\dgVoodoo2)| 文件 | 说明 |
|---|---|
DDraw.dll | DirectDraw 包装(最重要,2000 年 2D 游戏必用) |
D3DImm.dll | Direct3D 立即模式 |
D3D8.dll | Direct3D 8 包装 |
D3D9.dll | Direct3D 9 包装 |
dgVoodooCpl.exe | 配置工具(可选,但建议复制) |
注意:这些是本地 DLL,只对当前游戏目录生效,不会覆盖系统文件。
在游戏目录下创建一个名为 dgVoodoo.conf 的文本文件,内容如下:
| 配置项 | 值 | 说明 |
|---|---|---|
OutputAPI |
dgVoodoo2_11_0 |
最重要。强制使用 Direct3D 11 后端。D3D12 不够稳定,D3D11 兼容性好得多 |
VRAM |
1024 |
分配给游戏的显存(MB),设为显存大小或 1024 均可 |
ForceVSync |
true |
强制垂直同步,防止帧率过高 |
DisableAltEnterToToggleFullScreen |
true |
禁止 Alt+Enter 切换全屏,避免老游戏冲突 |
Windows 默认的 GPU 超时检测(TDR)为 2 秒。如果 GPU 在 2 秒内没有响应,Windows 会尝试重置显卡驱动,导致游戏崩溃。老游戏通过兼容层翻译后,某些场景的渲染可能超过 2 秒。
快捷方式:第五步也可直接下载注册表文件,右键「合并」或双击导入(需管理员确认),然后重启电脑。
Win + R,输入 regedit,回车TdrDelayTdrDelay,选择 十进制,填入 10(即 10 秒)
一般设为 8~10 即可。不要设太大(如 60),否则 GPU 真的卡死时要等很久才能恢复。