一开始我也怀疑是电脑哪儿出了问题,驱动重装了无数次,系统也重做了一回,甚至还把主机拆开来清了一遍灰,该上的导热硅脂也换了,结果该卡还是卡。后来我在游戏论坛里看了一些技术帖子,才慢慢发现这游戏的问题不是出在硬件性能上,而是出在它对硬件资源的使用方式上。
300英雄用的引擎是Unity,虽然是跨平台引擎,但这游戏在这上面做了特别多的魔改,导致优化一言难尽。大型网游比如守望先锋、APEX这种商业大作,引擎成熟,对多核CPU优化到位,显卡渲染管线也是规范合理。但300英雄的图形渲染逻辑明显老旧,有些特效处理几乎全压在CPU单核上。我尝试用任务管理器调出CPU使用情况,发现玩300英雄时,一个核心跟开了挂一样满载到100%,其余五个核心都在看戏,使用率大概只有一成不到。这种单线程瓶颈直接拖累了整个游戏帧数,就算显卡再使劲,渲染也得等CPU算完才轮得到输出。
另一个问题在于这款游戏对GPU的利用率也很低,只有20%多,这直接坐实了不是显卡不行,而是游戏压根就没把显卡充分调动起来。我在好几个配置很高的玩家群里问了一圈,发现有很多用RTX 30系甚至40系显卡的朋友玩这游戏照样掉帧。有个人主机花了万把块配的酷睿i7加RTX 3080,玩300英雄照样在团战里卡成PPT,这下我彻底明白了,这就是游戏本身的问题。
但这问题也不是完全没有办法缓解。我自己折腾了一段时间,摸索出几个稍微能让帧数往上提一提的操作。首先在NVIDIA控制面板里,把300英雄的电源管理模式调成最高性能优先,还得把三重缓冲打开,垂直同步关掉。其次在游戏设置里,把抗锯齿拉到最低,阴影品质调成普通,分辨率和渲染比例尽量保持原样,因为低级画质下反而会增加CPU的负担。坚持用全屏模式而不是窗口模式,窗口模式会给系统其他程序更多的调度机会,影响渲染稳定性。
还有一个比较邪门但确实有效的方法是开兼容性模式,把兼容性设成Windows 7。很多老外游戏在WIN10和WIN11上会被新版的分区调度策略坑到,而兼容模式有时能绕开这个坑。我开了兼容性模式之后,帧数虽然仍然不算高,但至少能保持在35到40帧之间浮动,偶尔掉到30也能稳得住,总算有点能玩的感觉了。

还有个小技巧是调整系统电源计划,插着电源的时候开启卓越性能模式,用命令行里那串powercfg代码可以解锁隐藏的性能方案,这能让CPU在低负载高频率时候更积极一些。因为300英雄吃单核性能,单核频率越高帧数表现越好,如果用了节能模式,系统偷偷降频,那帧数更是惨不忍睹。我试过把CPU的主频固定在最高睿频以后,帧数大概又提升了十帧左右。
归根到底,玩300英雄这种优化比较差的游戏要有个正确预期,FPS低不是电脑性能的全面反映。只要大型网游跑得动,说明机器硬件本身没啥问题,不需要为了一个游戏去升级电脑。放宽心态,或者用我上面说的办法调整一下,能玩到什么程度就到什么程度。我现在仍然每天上线打几局,虽然不能和大作比流畅度,但这种卡顿也早就习惯了,甚至有时候还能利用这种低帧率带来格外的碰撞判定时间来打出一些奇怪的操作,也算是一种独特的游戏体验吧。