关于AMD锐龙处理器玩游戏要关掉同步多线程(SMT)这传言其实已经流传已久,说真的这话放到以前可能还真的有这可能,但是随着Windows 10升到1903版本优化了CPU的调度之后再来传新锐龙处理器玩游戏还要关SMT这个就不太靠谱了,因为新的1903版本会优先用完锐龙处理器一个CCX的资源,并且还会优先使用CPU的物理核心,所以理论上你关不关SMT应该都是没啥差别的,当然光这样说大家是不会信的,今天我们就来测试一下Ryzen 7 3700X开和关闭SMT时对游戏到底有多大影响。
在了解超线程是什么鬼之前我们要先知道线程是什么,Thread线程是操作系统能够进行运算调动的最小单位,它被包含在进程之中,是进程中的实际运作单位,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
MultiThreading多线程这个概念有些暧昧,多线程可以指在一个CPU核心上同时执行多个线程,也可以是多个任务,尽管在同一个核心内执行,但是它们之间完全分离。多线程在概念上类似抢占式多任务处理,但是在现在的超标量处理器中以线程级来实现。
多线程有两个主要实现方法,一个是Temporal MultiThreading时间多线程,另一个则是Simulate MultiThreading同步多线程,时间多线程还可以进一步分为Fine-Grained MultiThreading细粒度多线程与Coarse-Grained MultiThreading粗粒度多线程。
CMT粗粒度多线程是最简单的多线程技术,当单一执行线程遇到长时间的延迟,如Cache Missed时,就进行线程切换,直到原线程等待的操作完成,才切换回去。
FMT细粒度多线程比CMT粗粒度多线程复杂一些,它随时可以在每个时钟周期内切换多个线程,以追求最大的输出能力,当然,随时可以切换也是有代价的,它拉长了每个执行线程的平均执行时间。
CMT和FMT都没有在消费级处理器上面使用,Intel与AMD处理器上使用的都是SMT同步多线程,不过NVIDIA与AMD的GPU都有使用FMT技术。
SMT同步多线程具有多个执行单元,CMT和FMT都是在单个执行单元下的技术,不同的线程在指令级别上并不是真正的“并行”,而SMT则具有多个执行单元,同一时间内可以同时执行多个指令,可以充分发掘超标量处理器的潜力,因此SMT具有最大的灵活性和资源利用率,不过处理器也更复杂。
不过现在的消费级处理器都是超标量处理器,所以要支持SMT其实在架构上不用太多改变:所需的主要添加是在一个周期中从多个线程获取指令的能力,以及一个更大的寄存器文件来保存来自多个线程的数据。并发线程的数量可以由芯片设计者决定。常见模式是每个CPU核心有两个并发线程,但一些处理器的每个核心支持最多八个并发线程。
超线程/SMT同步多线程技术是一个很好的提升核心利用率的东西,将闲置处理资源充分调动起来,增强核心并行运算性能,在操作系统中一颗物理CPU能当做多颗CPU来使用,它可以有效提升CPU利用率、改善计算机的性能、提高系统可靠性。
但对于游戏玩家来说问题在于,系统和游戏到底能不能充分利用CPU所有的核心资源,并且有效地使用闲置单元提高运算效率,侧面提升游戏体验(主要是帧数的提高),一旦游戏对多线程优化不足,就发生抢占CPU核心资源,造成调度拥堵,间接地降低性能。这个也是很多玩家口中所说“超线程不利于游戏”的说法。
这次测试主要是想看看Ryzen 7 3700X在开启和关闭SMT前后的游戏性能变化,同时顺便会给大家看看关闭SMT后会对CPU带来多大的性能损失。
AMD锐龙处理器想关闭SMT多线程的话建议还是用RyzenMaster软件比较简单,因为这个选项在B
一颗正经的Ryzen 7 3700X应该是有16个框框的
被我关掉SMT后只剩下8核8线程的Ryzen 7 3700X
无论是DX11的FireStrike还是DX12的TimeSpy测出来CPU的物理运算性能都有明显下降,然而这并不等同于实际游戏性能。
说真的,除了《绝地求生》这个神奇的游戏,其他游戏对于SMT的开和关真的没啥区别,三位数的平均帧数一、两帧差别几乎可以忽略不计,现在的游戏其实用不着那么多线程,8线程和16线程基本不会有啥区别,绝大部游戏在关闭SMT多线程后也没见有啥提升,当然也有《绝地求生》这个反例,它优化特差这已经是出名的了,作为玩家的我都对它无语了。
当然有人可能会说我们拿8核的Ryzen 7 3700X来测当然没啥区别拉,然而Zen 2架构的锐龙处理器至少也有个6核心,其实结果也不会有太大差别,之后有空可以拿Ryzen 5 3600试下。
接下来我们看看Ryzen 7 3700X在关闭SMT后处理器性能会下降多少。
有趣的是开了SMT之后Ryzen 7 3700X的单线程性能并没有下降,反而还高了一点点 ,不过这1%都不到的差距基本上可以看作是误差,多线程性能在开启SMT后提升了32%,AMD Zen 2架构的SMT效率还是不错的,Intel那边Core i9-9900K和Core i7-9700K之间的多线程性能差距也差不多这个数,不过两者间还有轻微的频率和L3的差别。
办公方面除了设计类的,绝大多数应用场景都用不着这么多线程,Ryzen 7 3700X开启SMT后确实有一定的提升,然而提升得并不是很多,说真的Ryzen 7 3700X这种八核处理器最多也是必要时兼职一下办公,很少人会拿这个级别的处理器全职办公的。
现在Zen 2架构的第三代锐龙处理器至少是六核起步的,当核心数量达到六核之后SMT多线程对游戏的影响就不会很大了,现在的游戏其实六核或者以上的处理器就可以满足它的并行处理能力需求了,至于你有没有SMT或者超线程其实没啥关系,单线程性能与内存缓存的延迟的影响其实更大一些。
而SMT真正有用的是视频和图片处理还有渲染这类计算密集型应用,这类应用需要大量并行运算,多少个线程都能给你吃光,然而这些应用基本上就是内容创作者接触得比价多,对于一般人来说,解压缩可能是体验处理器并行处理能力最为常见的应用场景。
联系客服