正在阅读:多核打游戏反而更慢?谈CPU和游戏优化那点事多核打游戏反而更慢?谈CPU和游戏优化那点事

2019-07-27 00:15 出处:PConline原创 作者:Aimo 责任编辑:censi

CPU单核性能真的在挤牙膏?

  有人认为,目前CPU已经很难从频率上做性能突破,架构亦难以进一步提升效率,堆核是性能进步的唯一之道。有的朋友从Intel的“挤牙膏”中论证这一观点,认为CPU的同频性能已经多年止步不前,而AMD的Zen2架构尽管效率相对于前代大幅提升,但也只是追上竞争对手的水平而已。用数年前的4核CPU和现在的4核CPU玩游戏,体验似乎并没有什么不同,也是一个有力的佐证。但事实是否如此?

  实际上,这种观点是片面的。之所以数年前的CPU在某些测试、某些游戏中表现尚可,是因为这些测试、游戏并没有针对新CPU的指令集作出优化。近年来,新款CPU的一大价值在于增加了AVX、AVX2、TSX等指令集。如果代码调用了相应指令集,能更高效地利用FMA这样的浮点加乘混合单元,减少CPU流水线的闲置,性能表现可以获得可观的提升。

CPU优化
这些都可是近十年间陆续增加的指令集,不是说没有堆核就是挤牙膏

  以著名的渲染软件Cinebench为例,这是DIY玩家都相当熟悉的CPU测试工具。最新版的Cinebench R20对比旧版的Cinebench R15,一大改进就是加入了AVX指令集的支持。在CPU对AVX指令集有较好支持的情况下,同样的渲染项目,在Cinebench R20中跑,速度甚至要比Cinebench R15快一倍以上!新型指令集对性能的提升之巨,由此可见一斑。

Zen2的单核性能进步如此大,很大程度上是因为
Zen2的单核性能进步如此大,很大程度上是因为AVX2性能大幅提高

  支持AVX或更新的指令集已经在渲染、视频压缩、科学计算等专业领域中渐渐成为常态,著名的Linux发行版Fedora 32甚至计划不支持没有AVX指令集的CPU。然而,仍有大量游戏未跟进AVX等新指令集,只支持老的SSE,新CPU跑这些游戏自然和旧款CPU没有太大区别。在指令集支持方面,游戏对CPU仍缺乏应有的优化。

  著名的游戏性能测试组件3DMark已经意识到了这点。在新的Time Spy Extreme测试项目当中,加入了AVX、AVX2乃至AVX512指令集支持,调用AVX512指令集跑分,成绩对比SSE3跑出来的分数高了一倍有余。

  AVX等新指令集在实际游戏中意义也变得越来越重大,例如《刺客信条:奥德赛》甚至不支持没有AVX指令集的CPU(因为太激进,后来不得不重新兼容老CPU),又例如某些使用了D加密的游戏需要FMA3指令集才能正确解密运行,早年的“神U”E1230 v2只能干瞪眼;如果你是PS3模拟器玩家,也有切身体会过TSX指令集下性能的飞跃。

CPU优化
育碧《刺客信条》新作一度不支持没有AVX指令的处理器,新游戏会越来越注重先进指令集

  总体而言,大部分游戏在指令集方面的优化做得依然不够,在缺乏指令集优化的情况下,旧CPU和新CPU的游戏表现拉不出太大差距。但支持新指令集是游戏对CPU优化中无法规避的环节,活用新指令集才能彰显新款CPU应有的价值,希望有更多游戏对新的CPU指令集作出优化吧。

后话

  无论是增加CPU核心多线程,还是使用新型指令集提升SIMD性能,都可以大大增强CPU的性能。就消费市场而言,AMD似乎更多地走了多核路线,而Intel则致力于推行新指令集。但无论是哪种发展方向,都需要相应的软件对此作出优化,才能发挥出CPU应有的性能。

  现在早已经不是不改一行代码就能发挥出新CPU的全部性能的时代,多核心和先进指令集,限于匮乏游戏支持的现状,都不得不沦为“战未来”。CPU并没有在“挤牙膏”,游戏对CPU的优化也远未到尽头,希望未来我们能看到更多能发挥出CPU真正功力的游戏吧。

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品