数码科技

【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

img004.png

早前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版本的性能普遍偏低。


img002.png

可以看到不同媒体的性能数据差异很大

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论坛的内容:


原文地址:https://forums.anandtech.com/threads/official-amd-ryzen-benchmarks-reviews-prices-and-discussion.2499879/page-107#post-38771400


这是论坛会员发布的内容,不是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甚至会在渲染同一帧的过程中进行负载平衡,这无疑是在浪费性能。


img001.png


八个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是尚未抛光的钻石。

剧毒术士马文

留学中 Comp.Arch|RISCV|HPC|FPGA 最近沉迷明日方舟日服 联系方式请 discord 或者 weibo 私信。目前不在其他平台活动。 邮箱已更新为[email protected]。 看板娘:ほし先生♥

相关文章

31 评论

  1. WIN7主要是SMT的识别正确
    很多游戏里面WIN7帧数要高…

  2. 几个游戏,不是所有
    但是WIN10的问题在上面都已经列出来了,等到补丁出来就会解决
    主要问题是Windows scheduler 负载平衡

  3. 请问下,WIN7下游戏性能比WIN10好是所有游戏还是个别游戏?

  4. “如果使用“平衡”,会由Windows管理Ryzen的时钟和功耗,切换频率/电压的延时大于30ms。而在“高性能”下会使用Rzyen的SenseMI,切换速度约1ms。”切到高性能模式以后突然想起来,这个模式不是除了偶尔Boost以外根本不切频率吗。。希望补丁把平衡模式下也启用SenseMI。

  5. 我的技嘉没有任何问题。买了你才知道。贴吧贴主天天删帖,早已失去独立性。我的是1700+b350m,预定时买的,还是用nvme装的系统。

  6. 话说回来,胡桃泽酱,是不是因为最近被珈百璃欺负了啊~
    CHH被ban啥的,哎烦死了[委屈]

  7. BIOS应该还没准备好吧…有的BIOS还只能调倍频

  8. 问个事 B350 bios 怎么关闭超线程。 我在BIOS中找不到SMT之类的术语。。。找不到

  9. 楼主从哪看到的消息会有1900X?大概什么时间上市?还有AMD会出四核八线程的高主频Ryzen吗?类似7700K的那种

  10. 时间真短,也许是厂商很久没为AMD CPU写UEFI。。。

  11. 比较期待WIN10补丁,貌似这个更实际。对了,印象中推土机出的时候,WINDOWS系统也有出相应补丁?

  12. 问点不太相关的
    逛贴吧,感觉这次AMD遭遇了猪队友,评测的主板貌似都有翻车的,华硕都3连BIOS升级,正准备入1700的我迷茫中。。。这些主板靠谱吗。。

  13. 在Linux和其他各种测试中已经能够体现出原生性能到底有多强了
    原生性能摆在那里,剩下的就是软件优化了

  14. 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更新和系统补丁,能够扭转下局面。

  15. 用不良品屏蔽来的那种肯定会随机分布。3+1 2+2 4+0都会有。原生4核一定是单ccx,没有理由做成2+2。

  16. PCGH关于内存rank的测试很细心很给力。此前我都在开始筛选single rank的条子了。

  17. 最看重的lightroom性能相对7700k只有30%左右的优势,有点纠结。。。。

  18. 看来主要还是优化利用SMT了,就看能不能开启SMT之后获得收益在优化后能弥补降低的单核能力

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部按钮