游戏优化(pu游戏优化加速软件)

/ 0评 / 0

游戏优化(pu游戏优化加速软件)原创太平洋电脑网2019-07-27 00:22:57

1CPU的多核优化有多艰苦?

[PConline杂谈]随着AMD锐龙的横空降生,电脑CPU进入了多核震慑的时期。同一系列的产品,核心翻倍已经司空见惯,有爆料显示Intel下一代CPU的i3将会配备4核8线程——这样的CPU,三年前它的名字叫i7。而在高端系列中,核战更是令人心惊胆战,在售的AMD锐龙3900X的12核24线程已经足以令人倒吸一口凉气,而即将上市的3950X更是配备了16核24线程,数框框喜好者们纷纭表现操纵不住,高呼yes基本停不下来。

然而,多核CPU打游戏必定会更快吗?不必定。消除频率、架构IPC的差别,某些情形下多核CPU打游戏甚至会更慢——例如在某些情形下,AMD的12核新品3900X,某些游戏中要比8核的3700X更慢。

有测试显示,核心更多、频率更高的3900X在某些情形游戏表示不如3700X

要知道从规格来看,3900X全面压倒3700X,且不说核心多了四个,连频率也更高(3.8/4.6GHz vs 3.6/4.4GHz),3级缓存也翻了倍(64MB vs 32MB),那为什么会涌现多核玩游戏更慢的情形?2021-09-28 ,就从这个现象动身,谈谈CPU和游戏优化的那点事吧。

游戏的多核优化有多难?

我们就先从游戏对多核心的优化谈起吧。谈游戏的优化,就绕不开对多核的支撑。什么游戏对多核优化好、什么游戏只能一核有难、多核围观,一直是玩家们津津乐道的话题。为什么游戏在对多核心的优化上会出问题,而视频紧缩等运用就能充足应用多核心?这和游戏的运行机制有关。

为何游戏爱好用单核心?

视频紧缩这类义务可以轻易做到并行盘算,例如一个线程紧缩某个片断,另一个线程紧缩另一个片断,多核一起运作,最后紧缩完成所有片断,完全视频也就紧缩完成了。而游戏的运行一般都是线性的,某一步的运算往往会和上一步息息相干,很难充足应用多个线程。

多核心在渲染、转码时好使,但游戏却不必定

例如在FPS游戏中,某个玩家被击中发生损害,那么这个损害成果和子弹运行轨迹有关,须要先盘算出子弹轨迹然后能力盘算出损害,这只能在一条线程中先后完成,无法通过多线程同时盘算子弹轨迹和损害。游戏想要充足应用多核,须要奇妙地将盘算义务拆分成为多线程,例如不同的线程负责物理碰撞、AI行动等,技巧门槛比拟高,也得下更多工夫。基于此,目前仍有大批游戏未能充足应用CPU的所有核心。

支撑多核心必定优化好吗?

随着时期的发展,越来越多游戏愿意在多线程优化上做出尽力。例如前几年,我们经常可以看到“i3默秒全”的情形,而现在的游戏大作已经将门槛晋升至4核,双核i3已经为难大任。但尽管如此,仍会涌现12核3900X表示不如8核3700X的情形,这又是为何?

涌现这种情形,重要在于CPU核心调度不合理。锐龙的架构比拟特别,每4个核心封装成为一个CCX,每两个CCX封装为一个CCD,核心和核心之间的通信,可以跨CCX,乃至跨CCD,而无论是CCX还是CCD之间通讯,都存在延迟。

Zen2的架构,可以看到核心-CCX-CCD的拓扑

换言之,如果一个程序能够调用多个核心,会涌现以下几种情形。

1、调用的多核心处于同一CCX内,延迟最小;

2、调用的多核心跨CCX,但处于同一CCD内,有所延迟;

3、调用的多核心跨CCX、跨CCD,延迟最大

例如一个游戏可以调用4个核心,最幻想的情形自然是调用同一CCX内的4核,这样能获得最好的性能。但实际上,代码对多核心的调用不必定这么智能,很有可能不能识别出哪些核心位于同一CCX上。于是,游戏可能会调用位于不同CCX、CCD的多个核心,发生的额外延迟导致性能有所丧失。

知道了这些,就可以说明为什么有时候3900X的游戏表示有时候还要低于3700X了。3900X封装了两个CCD,每个CCD内有两个CCX,每个CCX有4核心,原生共4x2x2=16核心,屏蔽了4核心后得12核;而3700X则只有一个CCD,内含两个CCX,共4x2=8核。可见,3900X比3700X多了一个CCD,多了一种可能发生额外延迟的情形,如果游戏不能施展出3900X的多核心优势,那么3900X表示略逊于3700X也就在情理之中了。

Windows 10 1903对Zen架构的优化之一,就是核心的调度逻辑,优先调用同一CCX内的核心

因此,即使游戏对多核进行了优化,但在核心调度方面,也须要另外下更多工夫,能力取得最佳性能。很愉快的是,微软已经意识到了相干问题,在Windows 10 1903中做出了优化,体系会优先调度处于同一CCX内的核心,避免跨CCX造成的延迟。如果你想要更好地施展AMD Ryzen处置器的性能,升级到Windows 10 1903还是很有必要的。

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

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

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

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

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

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

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模仿器玩家,也有(原创www.isoyu.com版权)切身材会过TSX指令集下性能的飞跃。

育碧《刺客信条》新作一度不支撑没有AVX指令的处置器,新游戏会越来越重视先进指令集

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

后话

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

现在早已经不是不改一行代码就能施展出新CPU的全体性能的时期,多核心和先进指令集,限于匮乏游戏支撑的现状,都不得不沦为“战未来”。CPU并没有百思特网在“挤牙膏”,游戏对CPU的优化也远未到止境,愿望未来我们能看到更多能施展出CPU真正功力的游戏吧。