那天突然想玩老游戏
就在前天晚上,心血来潮想玩会儿十多年前的《侠盗猎车手:圣安地列斯》。一打开,好家伙,直接卡成幻灯片了,帧数低得感人。我这电脑虽说不是啥外星人,但好歹也是去年配的,打个老古董不至于这么拉胯?当时第一反应就是:“该不会是DirectX版本太老了?”毕竟圣安地列斯那会儿流行的是Direct9.0。
满世界找更新包
想都没想,直接抄起鼠标就开始搜“DirectX 9.0 最新版本 下载”。结果嚯,微软官网清清楚楚写着:DirectX 9.0c是最终版本,没有后续更新了,官方的意思就是这玩意儿十几年前就定型了!网上那些标着“DirectX 9.0 终极版”、“2024年最新版”的东西,全是假的,要么捆绑全家桶,要么就是个下载器,坑爹。
我还不信邪,用工具查了一下自己系统里的DirectX版本:
- 运行dxdiag命令蹦出来一看,系统运行库那边明确显示的是DirectX 12!
- 这就更懵了,明明已经这么新了,咋还卡?驱动人生之类的玩意弹窗提示我说“有重要驱动可更新”,结果一点进去,全是无关紧要的东西,显卡驱动版本跟我现在用的半斤八两。
换个思路搞清理
发现版本问题不成立,立马调头。之前搜资料看到有人说,旧版本库文件卸载不干净也会闹鬼。得!撸起袖子开干:
- 先用系统自带的磁盘清理工具,专门勾上“DirectX 着色器缓存”和“临时文件”,点确定让它吭哧吭哧扫。
- 完事儿感觉还不彻底,又找了一个国外开源的小工具,口碑还行的那种(名字不说了避嫌),让它深度扫描那些残留的旧DirectX安装包文件。好家伙,还真扫出一堆破烂玩意儿,果断全选、删掉!清掉后感觉C盘都松快了两斤“陈年油垢”。
重装运行库才是关键
老游戏卡顿,真相往往就在这儿:DirectX 12向下兼容9不假,但缺了具体运行库文件就等于纸上谈兵。直接上微软官网,搜“DirectX End-User Runtimes (June 2010)”这个包(注意别下错,网上李鬼多)。下载过程倒是利索,点开安装程序,它就跟个老实巴交的装修工似的,自己默默地把所有需要的旧版运行库文件给安插到正确的位置,全程没啥存在感。
神奇的效果出现了
所有步骤弄完,连重启都没做,立马双击圣安地列斯的图标。载入速度肉眼可见变快,之前进游戏菜单都卡,现在直接丝滑!跑在洛圣都大街上,帧数稳定得一塌糊涂,风扇都没之前那么狂躁了,呼呼声小了很多。这回折腾算是彻底明白了:根本不是Direct9.0需不需要更新的问题,而是你的机器有没有给它准备好“粮草”——那些该有的运行库文件。显卡驱动只要不是古董级的,性能瓶颈往往就在这些细节上。