【AMD AMA &Anandtech】Ryzen游戏性能问题解答
选自reddit上Lisa Su和Robert的AMA,以及补充Anandtech论坛上的内容。
Windows scheduler 没有问题,AMD已经证实
3.4更新:Anandtech论坛上Agent-47发现了Windows10下Ryzen物理核心的缓存分配问题
链接:https://forums.anandtech.com/threads/official-amd-ryzen-benchmarks-reviews-prices-and-discussion.2499879/page-128#post-38774366
Windows10没有正确识别Ryzen的CCX架构,猜测每个核心(包括SMT的逻辑核心)都有同样的L2、L3缓存。也就是说Win10认为Ryzen一共有136MB缓存…目前Win7测试来看没有这个问题,游戏中性能比Win10高出17.8%。
两个CCX中的L3不是和以前一样全部核心共享的。
据Reddit用户称AMD已经向微软提交了补丁,只是尚未被整合/审核通过。
补丁会在一个月内放出。
顺便一提,Linux早就修复了这个问题…(所以在补丁放出之前你们可以先看看Linux性能)
Zen 代码实际为:
Logical Processor to Cache Map:
*————— Data Cache 0, Level 1, 32 KB, Assoc 8, LineSize 64
*————— Instruction Cache 0, Level 1, 64 KB, Assoc 4, LineSize 64
*————— Unified Cache 0, Level 2, 512 KB, Assoc 8, LineSize 64
*————— Unified Cache 1, Level 3, 16 MB, Assoc 16, LineSize 64
-*————– Data Cache 1, Level 1, 32 KB, Assoc 8, LineSize 64
-*————– Instruction Cache 1, Level 1, 64 KB, Assoc 4, LineSize 64
-*————– Unified Cache 2, Level 2, 512 KB, Assoc 8, LineSize 64
-*————– Unified Cache 3, Level 3, 16 MB, Assoc 16, LineSize 64
–*————- Data Cache 2, Level 1, 32 KB, Assoc 8, LineSize 64
–*————- Instruction Cache 2, Level 1, 64 KB, Assoc 4, LineSize 64
–*————- Unified Cache 4, Level 2, 512 KB, Assoc 8, LineSize 64
–*————- Unified Cache 5, Level 3, 16 MB, Assoc 16, LineSize 64
—*———— Data Cache 3, Level 1, 32 KB, Assoc 8, LineSize 64
—*———— Instruction Cache 3, Level 1, 64 KB, Assoc 4, LineSize 64
—*———— Unified Cache 6, Level 2, 512 KB, Assoc 8, LineSize 64
—*———— Unified Cache 7, Level 3, 16 MB, Assoc 16, LineSize 64
—-*———– Data Cache 4, Level 1, 32 KB, Assoc 8, LineSize 64
—-*———– Instruction Cache 4, Level 1, 64 KB, Assoc 4, LineSize 64
—-*———– Unified Cache 8, Level 2, 512 KB, Assoc 8, LineSize 64
—-*———– Unified Cache 9, Level 3, 16 MB, Assoc 16, LineSize 64
—–*———- Data Cache 5, Level 1, 32 KB, Assoc 8, LineSize 64
—–*———- Instruction Cache 5, Level 1, 64 KB, Assoc 4, LineSize 64
—–*———- Unified Cache 10, Level 2, 512 KB, Assoc 8, LineSize 64
—–*———- Unified Cache 11, Level 3, 16 MB, Assoc 16, LineSize 64
——*——— Data Cache 6, Level 1, 32 KB, Assoc 8, LineSize 64
——*——— Instruction Cache 6, Level 1, 64 KB, Assoc 4, LineSize 64
——*——— Unified Cache 12, Level 2, 512 KB, Assoc 8, LineSize 64
——*——— Unified Cache 13, Level 3, 16 MB, Assoc 16, LineSize 64
——-*——– Data Cache 7, Level 1, 32 KB, Assoc 8, LineSize 64
——-*——– Instruction Cache 7, Level 1, 64 KB, Assoc 4, LineSize 64
——-*——– Unified Cache 14, Level 2, 512 KB, Assoc 8, LineSize 64
——-*——– Unified Cache 15, Level 3, 16 MB, Assoc 16, LineSize 64
——–*——- Data Cache 8, Level 1, 32 KB, Assoc 8, LineSize 64
——–*——- Instruction Cache 8, Level 1, 64 KB, Assoc 4, LineSize 64
——–*——- Unified Cache 16, Level 2, 512 KB, Assoc 8, LineSize 64
——–*——- Unified Cache 17, Level 3, 16 MB, Assoc 16, LineSize 64
———*—— Data Cache 9, Level 1, 32 KB, Assoc 8, LineSize 64
———*—— Instruction Cache 9, Level 1, 64 KB, Assoc 4, LineSize 64
———*—— Unified Cache 18, Level 2, 512 KB, Assoc 8, LineSize 64
———*—— Unified Cache 19, Level 3, 16 MB, Assoc 16, LineSize 64
———-*—– Data Cache 10, Level 1, 32 KB, Assoc 8, LineSize 64
———-*—– Instruction Cache 10, Level 1, 64 KB, Assoc 4, LineSize 64
———-*—– Unified Cache 20, Level 2, 512 KB, Assoc 8, LineSize 64
———-*—– Unified Cache 21, Level 3, 16 MB, Assoc 16, LineSize 64
———–*—- Data Cache 11, Level 1, 32 KB, Assoc 8, LineSize 64
———–*—- Instruction Cache 11, Level 1, 64 KB, Assoc 4, LineSize 64
———–*—- Unified Cache 22, Level 2, 512 KB, Assoc 8, LineSize 64
———–*—- Unified Cache 23, Level 3, 16 MB, Assoc 16, LineSize 64
————*— Data Cache 12, Level 1, 32 KB, Assoc 8, LineSize 64
————*— Instruction Cache 12, Level 1, 64 KB, Assoc 4, LineSize 64
————*— Unified Cache 24, Level 2, 512 KB, Assoc 8, LineSize 64
————*— Unified Cache 25, Level 3, 16 MB, Assoc 16, LineSize 64
————-*– Data Cache 13, Level 1, 32 KB, Assoc 8, LineSize 64
————-*– Instruction Cache 13, Level 1, 64 KB, Assoc 4, LineSize 64
————-*– Unified Cache 26, Level 2, 512 KB, Assoc 8, LineSize 64
————-*– Unified Cache 27, Level 3, 16 MB, Assoc 16, LineSize 64
————–*- Data Cache 14, Level 1, 32 KB, Assoc 8, LineSize 64
————–*- Instruction Cache 14, Level 1, 64 KB, Assoc 4, LineSize 64
————–*- Unified Cache 28, Level 2, 512 KB, Assoc 8, LineSize 64
————–*- Unified Cache 29, Level 3, 16 MB, Assoc 16, LineSize 64
—————* Data Cache 15, Level 1, 32 KB, Assoc 8, LineSize 64
—————* Instruction Cache 15, Level 1, 64 KB, Assoc 4, LineSize 64
—————* Unified Cache 30, Level 2, 512 KB, Assoc 8, LineSize 64
—————* Unified Cache 31, Level 3, 16 MB, Assoc 16, LineSize 64
Zen代码正常应该为:
Logical Processor to Cache Map:
**————– Data Cache 0, Level 1, 32 KB, Assoc 8, LineSize 64
**————– Instruction Cache 0, Level 1, 64 KB, Assoc 4, LineSize 64
**————– Unified Cache 0, Level 2, 512 KB, Assoc 8, LineSize 64
********——– Unified Cache 1, Level 3, 8 MB, Assoc 16, LineSize 64
–**———— Data Cache 1, Level 1, 32 KB, Assoc 8, LineSize 64
–**———— Instruction Cache 1, Level 1, 64 KB, Assoc 4, LineSize 64
–**———— Unified Cache 2, Level 2, 512 KB, Assoc 8, LineSize 64
—-**———- Data Cache 2, Level 1, 32 KB, Assoc 8, LineSize 64
—-**———- Instruction Cache 2, Level 1, 64 KB, Assoc 4, LineSize 64
—-**———- Unified Cache 3, Level 2, 512 KB, Assoc 8, LineSize 64
——**——– Data Cache 3, Level 1, 32 KB, Assoc 8, LineSize 64
——**——– Instruction Cache 3, Level 1, 64 KB, Assoc 4, LineSize 64
——**——– Unified Cache 4, Level 2, 512 KB, Assoc 8, LineSize 64
——–**—— Data Cache 5, Level 1, 32 KB, Assoc 8, LineSize 64
——–**—— Instruction Cache 5, Level 1, 64 KB, Assoc 4, LineSize 64
——–**—— Unified Cache 5, Level 2, 512 KB, Assoc 8, LineSize 64
——–******** Unified Cache 6, Level 3, 8 MB, Assoc 16, LineSize 64
———-**—- Data Cache 6, Level 1, 32 KB, Assoc 8, LineSize 64
———-**—- Instruction Cache 6, Level 1, 64 KB, Assoc 4, LineSize 64
———-**—- Unified Cache 7, Level 2, 512 KB, Assoc 8, LineSize 64
————**– Data Cache 7, Level 1, 32 KB, Assoc 8, LineSize 64
————**– Instruction Cache 7, Level 1, 64 KB, Assoc 4, LineSize 64
————**– Unified Cache 8, Level 2, 512 KB, Assoc 8, LineSize 64
————–** Data Cache 8, Level 1, 32 KB, Assoc 8, LineSize 64
————–** Instruction Cache 8, Level 1, 64 KB, Assoc 4, LineSize 64
————–** Unified Cache 9, Level 2, 512 KB, Assoc 8, LineSize 64
FX6300代码对比:
Logical Processor to Cache Map:
*—– Data Cache 0, Level 1, 16 KB, Assoc 4, LineSize 64
*-*— Instruction Cache 0, Level 1, 64 KB, Assoc 2, LineSize 64
*-*— Unified Cache 0, Level 2, 2 MB, Assoc 16, LineSize 64
****** Unified Cache 1, Level 3, 8 MB, Assoc 64, LineSize 64
-*—- Data Cache 1, Level 1, 16 KB, Assoc 4, LineSize 64
-*-*– Instruction Cache 1, Level 1, 64 KB, Assoc 2, LineSize 64
-*-*– Unified Cache 2, Level 2, 2 MB, Assoc 16, LineSize 64
–*— Data Cache 2, Level 1, 16 KB, Assoc 4, LineSize 64
—*– Data Cache 3, Level 1, 16 KB, Assoc 4, LineSize 64
—-*- Data Cache 4, Level 1, 16 KB, Assoc 4, LineSize 64
—-** Instruction Cache 2, Level 1, 64 KB, Assoc 2, LineSize 64
—-** Unified Cache 3, Level 2, 2 MB, Assoc 16, LineSize 64
—–* Data Cache 5, Level 1, 16 KB, Assoc 4, LineSize 64
6700HQ代码对比:
Logical Processor to Cache Map:
**—— Data Cache 0, Level 1, 32 KB, Assoc 8, LineSize 64
**—— Instruction Cache 0, Level 1, 32 KB, Assoc 8, LineSize 64
**—— Unified Cache 0, Level 2, 256 KB, Assoc 4, LineSize 64
******** Unified Cache 1, Level 3, 6 MB, Assoc 12, LineSize 64
–**—- Data Cache 1, Level 1, 32 KB, Assoc 8, LineSize 64
–**—- Instruction Cache 1, Level 1, 32 KB, Assoc 8, LineSize 64
–**—- Unified Cache 2, Level 2, 256 KB, Assoc 4, LineSize 64
—-**– Data Cache 2, Level 1, 32 KB, Assoc 8, LineSize 64
—-**– Instruction Cache 2, Level 1, 32 KB, Assoc 8, LineSize 64
—-**– Unified Cache 3, Level 2, 256 KB, Assoc 4, LineSize 64
——** Data Cache 3, Level 1, 32 KB, Assoc 8, LineSize 64
——** Instruction Cache 3, Level 1, 32 KB, Assoc 8, LineSize 64
——** Unified Cache 4, Level 2, 256 KB, Assoc 4, LineSize 64
早前AMD给测试者发了email,请求测试者在给出1080P测试成绩的同时,也给出4K和1440P的成绩。因为1440P和4K用户应当知道新处理器的性能。
这是他们唯一的要求。而GameNexus没有给出就在reddit被喷了
AMD_LisaSuCEO of AMD
【Ryzen在显卡瓶颈的2K和4K游戏上做得很好。我们更强的是在能利用更多核心的渲染和工作站应用上。在1080P,我们在实验室测试了100+个游戏,我们在有些游戏中做得更好,有些则更差。人们想看到1080P上的改善,我们认为性能在开发者充分熟悉“Zen”之后只会变得更好。有几个开发组已经开始优化,如奇点灰烬和战锤。】
AMD_RobertTechnical Marketing
【很明显我们还要和游戏开发者一同合作进行关键的优化,这能够大幅提升应用程序中新架构的性能。这需要一段时间,但我们会搞定的。有些游戏我们 跑的很好,有些则比较差,不幸的是其中有部分还是大作,但这些开发者(比如oxide、sega、bethesda)已经声明,还有很大的性能改进空间。我们已经 通过评测证明了Zen的性能和IPC的提升幅度。跑得不好的游戏不是因为架构原因。】
AMD_RobertTechnical Marketing
【还有其他会影响性能的因素:
1.早期BIOS问题很多:关掉不相关的功能也会关闭核心;某些主板上设置内存超频会禁用BOOST;有些BIOS版本的性能普遍偏低。
可以看到不同媒体的性能数据差异很大
2.Ryzen在关闭高精度时间定时器HPET的情况下会有性能提升。HPET的时间解决方案会带来影响性能的观察者效应。BIOS里有关闭的选项,也可以通过Windows命令行关闭。
3.Ryzen在实用“高性能”电源选项时性能最佳。这会关闭Core Parking停核功能。我们会放出新的驱动,让人们可以在“平衡”选项上同样关闭停核功能。
平衡/高性能下的游戏对比
如果使用“平衡”,会由Windows管理Ryzen的时钟和功耗,切换频率/电压的延时大于30ms。而在“高性能”下会使用Rzyen的SenseMI,切换速度约1ms。
还有一些地方也是可以很快得到改善并提升性能的,但需要一些时间。】
这不是什么公关的狡辩,而是事实
借用一下ComputerBase的表格
很明显通过关闭SMT同步多线程,Ryzen的游戏性能能提升2-17%之多(而6950X性能没有变化)
还有很多游戏没有任何影响,说明没有从Ryzen的SMT中受益
Hardware.fr的测试,都是同频3.0GHz
在解压等测试中Ryzen的SMT效果很好,甚至在多数项目中展现出高于Intel HT的效率。
但到了游戏,就体现出很明显的问题
这证明游戏开发者还没有充分利用到Ryzen的新SMT
PS4等主机使用的也是2×4核,优化起来不会太困难。
相信未来会有所谓的“鸡血补丁/BIOS”出现。
而且即便是目前尚未优化的游戏中,7700K等高频四核会经常占用率达到100%,出现明显的卡顿,而1700等八核处理器则不会吃满,也不会有这种细微的卡顿现象,很多评测者提到了这一点。
目前四核吃满,八核吃不满;等到以后就是八核吃满,四核吃屎
来自Anandtech论坛的内容:
这是论坛会员发布的内容,不是Anandtech官方给出的解释。
目前影响Ryzen游戏性能的因素可能有:
Windows在CCX之间的负载平衡。比如说一个线程在CPU内部移动 – 这是正常情况 – 这能平衡核心之间的负载情况。但在Ryzen上,这需要限制在同一个CCX内, 不然会导致缓存未命中带来的损失。【原文:massive penalty】
3.12更新:经测证明WIN10默认状态下对于CCX之间没有负载平衡。在高性能模式下会负载平衡,但非常局限…所以影响很小。
比如CinebenchR15在2+2上甚至比4+0强,因为2+2有双倍的L3,但游戏方面,基本上4+0要比2+2强许多。
主要问题在于WIN10的线程/进程关联。部分程序只跑在物理核心上,而不会运行在逻辑核心上。如果手动关联,在WIN10+Rzyen下性能会非常差 – 这些程序只能用到两个核心
而关闭SMT后没有关联问题,而负载平衡很奇怪 – 2+2/4T模式下有负载平衡,但偏向于第一个CCX。
跑单线程R15甚至会在渲染同一帧的过程中进行负载平衡,这无疑是在浪费性能。
八个CinebenchR15线程运行在两个物理核心上,后台程序则运行在另外两个逻辑核心,另外两个核心处于park状态…这是在高性能模式下,将CB R15强制关联到0,2,4,6的结果。
这一点在PCGH的游戏测试中体现的非常明显:
可以看到帧数的差异
SMT由于共享资源会降低单核性能。
共享的是:微指令队列(分发器)、退出队列、存储队列,这意味着SMT开启后这些资源基本都会被对半分(这些队列会影响单线程的输出能力)
内存延迟问题尚未解决
有些游戏对内存延迟很敏感。这个问题应该会通过BIOS更新解决。
至于缓存的问题,可以看AMD给出的内部数据:
CCX的问题会通过Windows更新补丁解决,但SMT的问题可能是永久的,除非AMD能通过更新微码调整。
简单来说:当Windows更新放出,用上没有bug的BIOS,关闭SMT的情况下,Ryzen能在游戏中和4核i7x相当,同时在多线程程序中碾压。
过去5年中主流软件都是为Intel架构优化,开发者需要时间调整。
目前的Ryzen是尚未抛光的钻石。
https://www.youtube.com/watch?v=XAXS8rYwGzg
WIN7主要是SMT的识别正确
很多游戏里面WIN7帧数要高…
负载均衡这个问题WIN7也能避免么?
几个游戏,不是所有
但是WIN10的问题在上面都已经列出来了,等到补丁出来就会解决
主要问题是Windows scheduler 负载平衡
请问下,WIN7下游戏性能比WIN10好是所有游戏还是个别游戏?
“如果使用“平衡”,会由Windows管理Ryzen的时钟和功耗,切换频率/电压的延时大于30ms。而在“高性能”下会使用Rzyen的SenseMI,切换速度约1ms。”切到高性能模式以后突然想起来,这个模式不是除了偶尔Boost以外根本不切频率吗。。希望补丁把平衡模式下也启用SenseMI。
我的技嘉没有任何问题。买了你才知道。贴吧贴主天天删帖,早已失去独立性。我的是1700+b350m,预定时买的,还是用nvme装的系统。
话说回来,胡桃泽酱,是不是因为最近被珈百璃欺负了啊~
CHH被ban啥的,哎烦死了[委屈]
刷一下我偶像~
BIOS应该还没准备好吧…有的BIOS还只能调倍频
问个事 B350 bios 怎么关闭超线程。 我在BIOS中找不到SMT之类的术语。。。找不到
http://www.moepc.net/?post=1385
你怎么被ban了???
楼主从哪看到的消息会有1900X?大概什么时间上市?还有AMD会出四核八线程的高主频Ryzen吗?类似7700K的那种
时间真短,也许是厂商很久没为AMD CPU写UEFI。。。
比较期待WIN10补丁,貌似这个更实际。对了,印象中推土机出的时候,WINDOWS系统也有出相应补丁?
看来要自己动手升级BIOS了0-0
AMD这次给厂商写UEFI的时间也就不到3周。
希望稳定性能够OK 0-0
问点不太相关的
逛贴吧,感觉这次AMD遭遇了猪队友,评测的主板貌似都有翻车的,华硕都3连BIOS升级,正准备入1700的我迷茫中。。。这些主板靠谱吗。。
四核 4+0最佳, 缓存命中丢失率低。
在Linux和其他各种测试中已经能够体现出原生性能到底有多强了
原生性能摆在那里,剩下的就是软件优化了
https://www.computerbase.de/2017-03/amd-ryzen-1800x-1700x-1700-test/4/#diagramm-anno-2205-fps
ComputerBase的测试里面,几乎所有游戏的fps都不如6900K,但有小部分fps高于7700k,算上关闭SMT后的一点增益,大部分游戏还是不如两千多价位的7700K,尤其有的游戏差距实在大了点。期待一系列的bios更新和系统补丁,能够扭转下局面。
用不良品屏蔽来的那种肯定会随机分布。3+1 2+2 4+0都会有。原生4核一定是单ccx,没有理由做成2+2。
[嘻嘻]gcc -march=znver1 -mprefer-avx128 -mvzeroupper
那么问题来了,R3不会是砍成2+2了吧,那就坑了
可是也没有更划算的选择了吧
PCGH关于内存rank的测试很细心很给力。此前我都在开始筛选single rank的条子了。
最看重的lightroom性能相对7700k只有30%左右的优势,有点纠结。。。。
看来主要还是优化利用SMT了,就看能不能开启SMT之后获得收益在优化后能弥补降低的单核能力
1700X快到手,坐等几个月性能增益