尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

DDrawCompat:老DirectX游戏在Win11满帧运行,只需一个dll

DDrawCompat:老DirectX游戏在Win11满帧运行,只需一个dll DDrawCompat老DirectX游戏在Win11满帧运行只需一个dll【免费下载链接】DDrawCompatDirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11项目地址: https://gitcode.com/gh_mirrors/dd/DDrawCompat双击《星际争霸》的 exe黑屏或者卡在 DDrawCreateSurface 报错的界面。DDrawCompat 是一个 DirectDraw 兼容层把ddraw.dll放进游戏目录它接管 DirectDraw 与 Direct3D 1-7 的调用让 1998 年的图形代码跑在今天的显卡上游戏代码一行不用改。核心能力速览能力对应源码模块解决什么问题DirectDraw 调用拦截DDraw/老API在新系统失效D3D7 转 D3D11 渲染D3dDdi/老驱动已无人维护分辨率缩放与过滤Config/Settings/4K 下像素模糊变形GDI 窗口与指针支持Gdi/菜单、鼠标、对话框按游戏名的兼容修复Config/Settings/特定游戏的已知问题它不做逐行 API 翻译大部分渲染仍走原生 DirectX 1-7 和 GDI 库只在驱动接口处做了转换。好处是行为可预期出了问题日志能对上号。最小可行部署取文件。仓库源码可用git clone https://gitcode.com/gh_mirrors/dd/DDrawCompat默认配置即Tools/DDrawCompat.ini运行库ddraw.dll从项目 release 页面下载。把ddraw.dll复制到游戏主程序所在目录。若原有同名文件先备份再替换。启动游戏。目录里出现DDrawCompat-游戏名.log说明兼容层已被加载没有日志代表它没生效先排查再谈调优。把默认 ini 复制为同目录下的DDrawCompat-游戏名.ini之后所有修改都写在这里。配置思路先跑通再调优所有配置写在 ini 文件里改完重启游戏生效。按下面顺序来一次只动一层。1. 画面比例与分辨率老游戏 4:3 的画面放到 16:9 屏幕上会被拉伸。这一步确定缩放倍率、过滤方式和比例是画质问题的源头ResolutionScale 2 ; 按2倍整数放大像素边界清晰 ResolutionScaleFilter point ; 最近邻保持像素锐利 DisplayAspectRatio 4:3 ; 按原始比例显示两侧留黑边 FullscreenMode borderless ; 无边框窗口切换无闪烁 DisplayFilter integer ; 整数缩放过滤非整数倍不糊化2. 帧率与撕裂画面正确之后处理帧率同步、限帧、CPU 核心绑定。VSync on ; 垂直同步消除撕裂 FpsLimiter msgloop(60) ; 帧率上限60防止无限制跑满 CpuAffinity 1 ; 只绑1号核心老游戏更稳定 CpuAffinityRotation on ; 运行中轮换核心避免热堆积老游戏多为单线程绑定核心后调度抖动小帧间隔更平稳。3. 色彩、指针与窗口兼容剩下的是细节色彩深度、版本识别、GDI 互操作。RenderColorDepth 32 ; 渲染色彩深度 WinVersionLie xp ; 谎报系统版本骗过老游戏检测 GdiInterops all ; 启用窗口、对话框等GDI互操作 MouseSensitivity desktop(100) ; 指针灵敏度跟桌面走 PalettizedTextures on ; 调色板纹理还原8位色效果WinVersionLie值得单独说不少老游戏靠 GetVersion 判断系统发现是 Vista 之后直接拒绝运行或进入错误分支。改成谎报 XP 后这类问题大多消失。一个完整的调优工作流以《星际争霸》为例。症状4:3 画面在宽屏上被拉伸成椭圆放大后像素发糊快速移动单位时偶发撕裂。排查思路拉伸说明比例没锁发糊说明缩放用了平滑过滤撕裂指向同步设置。对应关系一目了然不需要试错。最终配置ResolutionScale 2 ResolutionScaleFilter point DisplayAspectRatio 4:3 FullscreenMode borderless VSync on效果画面按整数倍放大像素锐利两侧对称黑边帧率与显示器刷新同步撕裂消失无边框模式下切到别的窗口不再黑屏。容易踩的坑现象大概率原因与处理启动即崩溃缺 SSE2 或 GPU 不支持 SM3换机器无任何日志dll 未加载检查文件名与目录鼠标冻在桌面老D3D窗口模式缺陷开启 GdiInterops像素发糊缩放过滤改成 point 或 integer帧率不稳加 CpuAffinity 绑定核心画面色彩异常试 RenderColorDepth 与 WinVersionLieDDrawCompat 的路线是包装而不是替换渲染主体仍是原生的 DirectX 1-7 和 GDI 库兼容层只在驱动接口处做转换所以它对游戏的干扰小行为也好排查。把ddraw.dll丢进游戏目录跑一局再对着日志调 ini半小时能摸清一款游戏的脾气。【免费下载链接】DDrawCompatDirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11项目地址: https://gitcode.com/gh_mirrors/dd/DDrawCompat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表