我的电脑是五年前买的台式机,i5-4460处理器,8GB内存,GTX750Ti显卡。当年玩植物大战僵尸全高清无压力,现在连打开游戏都要等十几秒,进入关卡后向日葵一多就掉帧,僵王博士一出场直接幻灯片。这问题让我窝火,更窝火的是我试了所有能想到的办法,最后发现根本原因不在游戏,而在电脑本身。
先说说现象。玩英雄联盟团战掉到三四十帧,玩守望先锋直接卡成PPT,这些我能忍,毕竟是大型游戏。但植物大战僵尸这种2D塔防游戏,十年前的低配笔记本都能流畅跑,我的机器却时不时卡顿,这就不正常了。后来我装上MSI Afterburner看监控,发现卡顿瞬间CPU占用率只有百分之二十几,内存只用了不到6GB,显卡更是只使出了三成功力,帧数却从60暴跌到25。这说明不是硬件性能不足,而是某个环节在拖后腿。
第一个怀疑对象是后台程序。我打开任务管理器一看,好家伙,开机后二十多个进程常驻,其中光浏览器就占了四个标签页,还挂着微信、钉钉、输入法客户端、迅雷下载缓存。这些一起挤在8GB内存里,虽然总占用没到百分之百,但内存被大量占用后,系统开始频繁读写虚拟内存,硬盘灯一直亮着。而我的电脑用的是老式机械硬盘,读写速度只有一百兆每秒左右,一遇到内存不足就要往硬盘页交换文件,卡顿就这么来的。我把浏览器关了,微信退了,再试游戏,确实好转了一点,但依然没有恢复到刚买时候的流畅。
然后我看温度。用鲁大师一看,CPU待机温度四十二度,玩游戏十分钟后直接飙到七十八度,风扇呼呼响。按理说i5-4460七十五度是警戒线,八十度就该降频了。我的机箱是那种几十块的普通机箱,里面灰尘积了厚厚一层,CPU散热器上的鳍片都被堵死,风扇吹不出风。一降频,主频从3.4GHz降到2.8GHz左右,游戏能不卡吗?更致命的是GPU温度也到了八十一度,GTX750Ti的散热风扇转速飚到三千多转,还是压不住。热量的积累导致硬件性能自我关闭,这就是为什么一开始玩还好,玩几分钟后越来越卡。
另外一个隐蔽的元凶是电源计划。Windows默认的“平衡”计划在CPU负载不高时会自动降低频率,虽然平时省电,但游戏里遇到瞬间峰值负载时,CPU需要几百毫秒才能拉高频率,这期间就会出现卡顿。我把电源计划改成“高性能”后,CPU频率始终保持最高,帧数波动小了一些。可问题在于我的主板是老产品,BIOS里的C-States节能选项默认开启,即使系统设置高性能,主板仍会强制让CPU进入节能状态,反应速度依旧慢半拍。

驱动也是一个问题。我之前为了玩某个老游戏,装了NVIDIA的旧版驱动,后来更新游戏后没换驱动,结果新版驱动和旧版驱动在OpenGL渲染上有细微差异。植物大战僵尸用的是2D渲染,不依赖显卡多强,但对驱动兼容性很敏感。我重新安装了最新的官方驱动,并清除了旧驱动残留,确实感觉顺畅了一点,但依然有间歇性掉帧。
最后我狠心做了一个测试:把机械硬盘换成了固态硬盘,又加了根8GB内存条,变成16GB双通道。这块固态硬盘的连续读取速度是每秒五百多兆,比原来快了五倍。再次启动植物大战僵尸,加载时间从十二秒缩短到三秒,游戏过程中卡顿几乎消失,即使屏幕上挤满向日葵和僵尸,帧数也能稳定在六十帧。CPU温度和GPU温度虽然还是偏高,但不再降频了,因为内存充足后系统不再频繁读硬盘,磁盘环节不再是瓶颈。
现在回过头来想,这台电脑的卡顿根本原因是木桶效应。内存太小加机械硬盘慢,导致虚拟内存交换成为最大瓶颈。CPU散热不良导致的降频是第二因素。后台软件和电源计划是推波助澜。而真正的元凶,其实是电脑服役时间太长,我平时又懒得清理维护。植物大战僵尸只是个导火索,让我意识到这台老伙计真的到极限了。
如果你也遇到类似的卡顿,先别急着换电脑。打开任务管理器看看内存占用,用温度软件测一下CPU和显卡温度,摸摸机箱风扇出不出风。把这些基础问题解决掉,很多卡顿都能消失。实在不行,花两百块钱换个固态硬盘,再加一根旧内存条,那效果比起买台新电脑来,性价比高得惊人。至少,我的植物大战僵尸现在再也不卡了。