DDrawCompat 是一个 DLL 包装器,旨在修复基于 DirectDraw 和 Direct3D 1-7 的游戏的兼容性和性能问题。也部分支持 GDI。不涉及 API 转换,大部分渲染仍然由本机 DirectDraw/Direct3D 1-7 和 GDI 库完成。
Windows Vista、7、8、10 或 11
仅适用于 Windows Vista 和 7 的附加要求:
WDDM 兼容图形驱动程序 - 不再支持旧版 XPDM 驱动程序(自 v0.3.0 起)
必须启用桌面合成(特别是对于窗口模式应用程序)
从发布页面下载最新的二进制版本(避免使用文件名中带有“debug”的附件,除非您知道自己在做什么)。解压缩文件并将提取的 ddraw.dll 复制到目标游戏的安装目录,靠近主可执行 (.exe) 文件所在的位置。
如果那里已经存在 ddraw.dll 文件,则它可能是另一个 DirectDraw 包装器,旨在修复游戏的一些问题。您可以尝试将其替换为 DDrawCompat 的 ddraw.dll,但请确保先创建原始文件的备份。
启动游戏后,应在同一目录中创建一个名为 DDrawCompat- exename.log (或 v0.3.0 之前版本中的 ddraw.log)的日志文件。如果没有创建日志文件,则游戏未选择 DDrawCompat(或通过配置禁用日志记录) - 检查 wiki 以获取可能的解决方案。
从游戏目录中删除 DDrawCompat 的 ddraw.dll 文件。您还可以删除任何剩余的日志文件(DDrawCompat-*.log 或 ddraw.log)。
从 v0.4.0 开始,通过文本文件支持配置,部分通过游戏内覆盖支持配置。检查 wiki 了解详细信息。
仅支持最新版本。报告问题时请提供尽可能多的信息,尤其是受影响的应用程序的标题、GPU 型号、Windows 版本以及重现问题所需的任何步骤。如果可能,至少附加信息级别日志。您可以从日志文件中删除任何个人信息(例如,用户配置路径中的Windows 用户名)。请注意,调试日志可能包含其他敏感信息,例如应用程序注册的按键或应用程序显示的任何文本。
由于各种原因,以下情况不予支持:
需要互联网连接的游戏
Windows 内部预览版
在任何类型的虚拟化/模拟环境中运行 Windows,例如在虚拟机中或通过 Wine
与其他包装器/挂钩结合运行 DDrawCompat,包括覆盖或录像机(桌面屏幕录像机在使用 FullscreenMode=无边框设置时应该可以工作,假设它们可以记录分层窗口)
DDrawCompat 是使用 Microsoft Visual Studio Community 2022 用 C++ 开发的。
附加依赖项:
Windows 10 SDK 和 DDK(有关确切版本,请参阅 DDrawCompat.vcxproj 中的 WindowsTargetPlatformVersion)
适用于 Windows 的 Git(可选,正确的 DLL 版本控制所需)
不接受拉取请求。请使用问题来报告错误或请求新功能。
源代码根据 BSD 零条款许可证获得许可。
从 v0.3.0 开始的二进制版本已获得相同许可。
较旧的二进制版本根据 Microsoft Research 共享源许可协议(仅限非商业用途)获得许可。有关详细信息,请参阅这些版本的 zip 文件中的 license.txt。