Steam下载的游戏无法启动?我排查了五个小时才找到真相

上周末我好不容易在Steam夏促淘到的《荒野大镖客2》终于下完了。我泡了杯咖啡,关了灯,一切准备就绪。点了“开始游戏”,屏幕黑了一下,然后——没有然后。桌面依旧,Steam按钮变回了“开始游戏”。我心脏停跳半拍,又试了两次,结果一样。那种感觉就像拆生日礼物却发现盒子是空的。我发誓一定要找出问题,于是开启了长达五个小时的排查。

第一回合:运行库——我亲手装了三遍

一开始我怀疑是缺少运行库。很多Steam游戏会自带VC++ Runtime和DirectX,但有时安装过程会出岔子。我打开游戏目录下的_CommonRedist文件夹,里面有vcredist和DirectX。我挨个安装,重启,再次启动——还是不行。我纳闷了,明明都装了呀。后来查了系统事件日志,发现游戏启动时弹错“缺少d3dcompiler_47.dll”。原来系统自带的版本不够新,而Steam安装DirectX时又被系统权限拦截了部分组件。我手动从网上下载了最新的DirectX修复工具,运行了一轮,终于解决了这个错误。但游戏依然启动不了,只是错误弹窗没了。

第二回合:杀毒软件——被误杀的关键文件

问题依旧存在,我开始怀疑杀毒软件。我用的是Windows Defender,它有时会过于敏感。我暂时关闭了实时保护,再次启动游戏。这次进步了,出现了R星的Logo,但转了几圈后又卡死。我打开Windows安全中心的防护历史记录,发现有几个游戏文件被隔离了,包括“RDR2.exe”本身——Defender把它当成未知威胁。窒息操作。我恢复文件,并把整个Steam库文件夹加进了排除列表。再次启动,游戏居然顺利进入了主菜单。我差点喜极而泣。但好景不长,我退出后再开,又回到了桌面。

第三回合:显卡驱动——一场新与旧的博弈

到这时候我已经有点暴躁了。我打开Windows事件查看器,发现每次闪退时都有一条“nvlddmkm”错误,指向了显卡驱动。我使用的是最新的NVIDIA驱动,但《大镖客2》这种老游戏可能对新驱动水土不服。我思来想去,决定回滚到以前的版本。但回滚后问题更多了。折腾了半天,我尝试在NVIDIA控制面板里把游戏设置为高性能模式,并关闭了某些特效。这一次,游戏竟然稳定跑起来了。但我心知这只是暂时的,后来我还是升回了最新驱动,并在Steam设置里添加了启动参数“-gpuUseVulkan”,才算彻底稳了。这一步纯粹是试出来的。

第四回合:文件完整性——别小看这个按钮

在驱动问题纠结时,我还顺手做了游戏文件的完整性校验。在库中右键游戏→属性→本地文件→验证游戏文件的完整性。Steam扫描了3000多个文件,自动重下了几个残缺的文件。虽然这个操作没直接解决启动崩溃,但修复了一些贴图错误。所以后来遇到任何游戏问题,我都会先做这一手,省心。

第五回合:管理员权限与兼容性

我那几个小时里还试过以管理员身份运行游戏、设置Windows 8兼容模式、禁用全屏优化等。虽然不是每次都有用,但有一次在玩《地铁离去》时,管理员身份就解决了无响应问题。所以这次我也试了一遍,结果没有立竿见影。但我不后悔,至少排除了这些可能性。

当《荒野大镖客2》终于开始载入西部风光时,我瘫在椅子上长舒一口气。五个小时的排查让我对电脑底层运作有了更深的认识。以后再碰到游戏启动不了,我不像以前那样抓瞎了,而是有条不紊地逐个确认。这种掌控感,比游戏本身更带劲。