b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

1CPU的多核优化有多困难?从游戏对多核心的优化谈起

电脑杂谈  发布时间:2021-04-16 00:00:36  来源:网络整理

1CPU的多核优化有多困难?

[PConline talk]随着AMD Ryzen的出现,计算机CPU进入了多核冲击时代。同一系列产品的核心倍增是司空见惯的。据透露,英特尔下一代CPU的i3将配备4核和8线程-这样的CPU,三年前被命名为i7。在高端系列中,核战争更加令人恐惧。出售的AMD Ryzen 3900X的12核和24线程足以让人喘口气,而即将推出的3950X配备16核和24线程。数码相框的粉丝都表示他们无法控制它,而且他们也无法停止喊是的。

但是,多核CPU玩游戏会更快吗?不必要。如果不考虑频率和架构IPC的差异,则在某些情况下,多核CPU玩游戏会更慢-例如,在某些情况下,AMD的新型12核3900X,某些游戏要比8核3700X慢。

多核cpu

测试表明,具有更多内核和更高频率的3900X在某些情况下的性能不如3700X。

请注意,从规格的角度来看,3900X完全压倒了3700X,更不用说还有四个内核甚至更高的频率(3. 8 / 4. 6GHz与3. 6 / 4. 4GHz),三级缓存也增加了一倍(64MB与32MB),那么为什么会有多核游戏玩起来更慢的情况?今天,从这种现象开始,让我们谈谈CPU和游戏优化。

游戏的多核优化有多难?

让我们从游戏的多核优化开始。在游戏优化方面,支持多核是不可避免的。哪些游戏针对多核进行了优化,哪些游戏只有一个内核才能解决,多核围观者一直是玩家谈论的话题。为什么游戏在优化多核时会遇到问题,而视频压缩等应用程序可以充分利用多核?这与游戏的操作机制有关。

·为什么游戏喜欢使用单核?

诸如视频压缩之类的任务可以轻松地并行执行。例如,一个线程压缩一个段,另一个线程压缩另一个段,并且多个内核一起工作。最后,所有片段均被压缩,完整视频被压缩。游戏的操作通常是线性的,并且某个步骤的计算通常与上一步紧密相关,并且很难充分利用多个线程。

多核cpu

多核适用于渲染和转码,但不一定适用于游戏

4核cpu_amd三核cpu都能开核吗_多核cpu

例如,在FPS游戏中,如果玩家被击中造成伤害,则伤害结果与轨迹有关。需要先计算轨迹,然后才能计算出损坏程度。这只能在一个线程中一个接一个地完成。无法通过多个线程同时计算的轨迹和损伤。为了充分利用多个内核,游戏需要将计算任务巧妙地划分为多个线程。例如,不同的线程负责物理冲突,AI行为等。技术阈值相对较高,需要进行更多工作。基于此,仍然有大量游戏无法充分利用CPU的所有内核。

·支持多核必须优化吗?

随着时代的发展,越来越多的游戏愿意为多线程优化而努力。例如,在过去的几年中,我们经常可以看到“每秒i3默默无声”的情况,但是现在游戏杰作已经将门槛提高到了4核,双核i3已经很尴尬了。但是,尽管如此,在某些情况下,12核3900X的性能仍不如8核3700X。为什么?

发生这种情况的主要原因是CPU内核调度不合理。 Ryzen的架构非常特别。每4个内核被包装为一个CCX,每两个CCX被包装为一个CCD。内核与内核之间的通信可以跨CCX甚至跨CCD,而无论它是CCX还是CCD之间的通信。 ,会有延迟。

多核cpu

Zen2体系结构,您可以看到核心CCX-CCD拓扑

换句话说,如果一个程序可以调用多个内核,则会发生以下情况。

1、调用的多个内核在同一个CCX中,并且延迟最小;

2、调用的多核穿过CCX,但在同一CCD中,并且存在延迟;

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

例如,一个游戏可以调用4个核心。理想的情况是自然地在同一CCX中调用4个内核,以便获得最佳性能。但是实际上,代码对多个内核的调用不一定那么聪明,并且它可能无法识别同一CCX上的哪些内核。结果,游戏可能会调用位于不同CCX和CCD上的多个内核,从而导致额外的延迟,从而导致性能损失。

4核cpu_amd三核cpu都能开核吗_多核cpu

知道了这一点,您可以解释为什么3900X的游戏性能有时会比3700X的游戏性能低。 3900X封装了两个CCD。每个CCD都有两个CCX。每个CCX具有4个核心。原始的4x2x2 = 16核。屏蔽4芯后,共有12芯。 3700X只有一个CCD,包含两个CCX,共4x2 = 8核。可以看出,3900X的CCD比3700X多一幅,并且可能会导致额外的延迟。如果游戏无法利用3900X的多核优势,那么3900X的性能稍逊于3700X是合理的。

多核cpu

Windows 10 1903中Zen架构的优化之一是核心调度逻辑,优先考虑在同一CCX中调用核心

因此,即使游戏针对多核进行了优化,在核心调度方面仍需要做更多工作才能获得最佳性能。我非常高兴Microsoft意识到了相关问题并在Windows 10 1903中进行了优化。系统将优先考虑同一CCX中的内核,以避免交叉CCX引起的延迟。如果您想更好地利用AMD Ryzen处理器的性能,仍然有必要升级到Windows 10 1903。

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

CPU单核性能真的挤牙膏了吗?

有人认为,CPU很难在频率方面取得性能突破,并且架构很难进一步提高效率。核心是提高性能的唯一方法。一些朋友从英特尔的“牙膏挤压”论证了这种观点,并认为CPU的同频性能多年来一直停滞不前,与上一代相比,AMD的Zen2架构大大提高了其效率,但只是在追赶与竞争对手。仅级别。几年前使用4核CPU玩游戏与当前的4核CPU似乎没有什么不同,这也是有力的证明。但这是真的吗?

实际上,这种观点是单方面的。几年前的CPU在某些测试和游戏中表现良好的原因是,这些测试和游戏并未针对新CPU的指令集进行优化。近年来,新CPU的主要价值是增加了AVX,AVX 2、 TSX和其他指令集。如果代码调用相应的指令集,则可以更有效地使用FMA等浮点加乘混合单元,从而减少了CPU流水线的空闲时间,并且可以显着提高性能。

多核cpu

这些是过去十年中添加的指令集。这并不意味着没有核心或挤压牙膏。

以著名的渲染软件Cinebench为例。这是DIY玩家非常熟悉的CPU测试工具。与旧版本的Cinebench R15相比,最新版本的Cinebench R20具有重大改进,增加了对AVX指令集的支持。如果CPU更好地支持AVX指令集,则在Cinebench R20中运行的同一渲染项目的速度是Cinebench R15的两倍甚至更多!由此可见,新指令集的巨大性能提升。

4核cpu_amd三核cpu都能开核吗_多核cpu

多核cpu

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似乎采取了更多的多核路线,而英特尔则致力于实施新的指令集。但是无论是哪种开发方向,都需要为此优化相应的软件,以发挥CPU的应有性能。

现在不是在不更改任何一行代码的情况下就可以发挥新CPU的全部性能的时候了。限于当前缺乏游戏支持的情况下,多核和高级指令集必须简化为“未来之战”。 CPU不是“挤牙膏”,并且游戏对CPU的优化还远远没有结束。我希望将来我们能够看到更多能够发挥CPU真正功能的游戏。

报告/反馈


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-368521-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 元善见
        元善见

        老成持重并不优于年轻热血

      • 高桥美纪
        高桥美纪

        不要一天都在自己近海训练

      • 林宇
        林宇

        小王子配音~我爱您

      热点图片
      拼命载入中...