解决C&C: RA2等游戏在Windows 7/8/10/11下的兼容性问题

发布于2021/10/17更新于2024/7/5

即使进入了Windows 10的年代,15年前的Command & Conquer: Red Alert 2(C&C: RA2)仍然是一些游戏迷爱不释手的一款即时战略游戏。如今PC的操作系统大多数都已升级至Windows 10,还有少部分是7或8。在更新的操作系统上玩这个游戏会存在不少问题,其中最大的问题是游戏的卡顿和视频卡顿。游戏开发商和发行商已经不再将游戏对新操作系统进行适配,但欣慰的是,这些问题由民间游戏社区解决了。

RA2等游戏的卡顿通常是因为游戏视频的输出方式较为古老,不适合新的硬件、操作系统及DirectX环境。一般的方法是对游戏视频DirectDraw输出进行修正,有几个补丁与程序都可以解决问题:

  • Command & Conquer Graphics Patcher:针对Tiberian SunRed Alert 2Yuri’s Revenge运行该补丁需要.net Framework 3.5下载补丁后解压至游戏目录下(与game.exegamemd.exe文件同一目录),然后运行补丁程序。补丁程序提供对游戏文件打补丁及去补丁功能,打补丁后该补丁程序就可以删除了。建议将游戏文件先进行备份以防外一。
  • Aqrit’s ddwrapper:通用DLL。通过用代理DLL拦截游戏对DirectDraw的调用、并转发到真实的DirectDraw接口来控制游戏视频输出。下载压缩包解压,将ddraw.dllaqrit.cfg文件放入游戏目录中,可以通过编辑aqrit.cfg来控制几个参数(参考程序页面说明)。未优化的源代码托管在GitHub/aqrit/ddwrapper。针对RA2的配置是除ForceDirectDrawEmulation1之外其它参数均为0[参考]。

上面两种方法基本能够消除游戏卡顿和视频卡顿,但仍然存在一个问题,就是从游戏中切出或切换到其它程序/窗口再切回游戏后,游戏仍然在运行但屏幕全黑(通常被称为Alt-Tab黑屏问题)。为解决这个小故障和前面的卡顿问题,有两个CnCNet维护的程序/补丁可以使用:

  • cnc-ddraw:提供对多个“老”游戏提供在更新操作系统下的兼容性修复,并提供窗口化等多个功能。该程序似乎还没有完全支持Yuri’s Revenge,表现为游戏菜单、动画和过场画面是全屏幕低分辨率且无法upscale的,而游戏画面没有问题。
  • ts-ddraw:以cnc-ddrawTiberian SunRed Alert 2重写的特供版本。特供版本似乎对在Windows 10上的Yuri’s Revenge支持不够好(可能是某些Windows 10的更新版本),表现为gamemd.exe出现崩溃(APPCRASH)且故障模块为ddraw.dll(该文件由ts-ddraw提供),使用cnc-ddraw则没有问题。

除了解决卡顿等兼容性问题之外,为了能在大屏幕上更好地游戏RA2,可以在ra.inira2md.ini文件的Video部分添加以下内容[参考]:

AllowHiResModes=yes
AllowVRAMSidebar=no
VideoBackBuffer=no

则在游戏选项中可以选择高分辨率进行游戏。

Leave a Reply

Your email address will not be published. Required fields are marked *