RyzenはNUMAとも言えるインテルCPUにはない特殊な内部構造を持つために、キャッシュレイテンシが性能に与える影響が大きいです。これは第2世代のRyzenでも同様で、使っているメモリのメモリークロックによって性能、特にゲーミング性能が大きく変化することが確認されている。
実質デュアルCPUなRyzenの構造
AMD Ryzenは「価格革命」を起こしたCPUですが、決して赤字覚悟の値付けではなく、ちゃんと採算が取れる設計になっています。だからRyzenが売れたおかげでAMDの経営状況はかなり好調です。
じゃあ…その安く8コアや16コアを作れる設計とはどんなものなのかと言うと、「CCX」と呼ばれる1つのCPUを、殻の中に2つ入れてコア数を簡単に増やせる設計。
「CCX」の中にはCPUコアと、それぞれ専用のL2キャッシュ、そして最後に共有L3キャッシュがあります。「CCX = 4コアCPU」と思って構いません。
この4コアCPU(= CCX)を、2つセットにして8コアCPUのRyzen 7が安く作られています。そして、2つのCCXを接続するために「Infinity Fabric」というインターコネクトを使っている。
そのため、何らかの処理を実行する時に必ずインターコネクトを経由する必要があるので、シンプルなシングルCPUのインテルと比較して「待ち時間」が長めに発生しがち。
ゲーミング性能がCore i5やi7と比較して劣りやすいのは、このインターコネクトを経由する際の待ち時間(レイテンシ)が足を引っ張りやすいからです。
更に、このInfinity Fabricと呼ばれるインターコネクトを経由する時のレイテンシは、使っているDDR4メモリーの「メモリークロック」に相当依存している実態がある。
ということは、メモリークロックが速いほどゲーミング性能が改善する現象は「設計レベル」で確実に起こり得る現象ということになる。
最大16コアのRyzen TR 1950Xは、CCX2個で8コアのCPUダイを2個接続して合計16コアに仕立て上げている。2018年5月時点で、999ドルは最安の16コアCPUです。
最大32コアのサーバー向けCPU「EPYC」も、Ryzen TRと同じ要領でCCX2個の8コアCPUダイを4個接続して、合計32コアに仕立て上げた。こちらも現時点では最安の32コアCPUです(※3400ドル)。
メモリークロックがゲーミング性能に与える影響
実際にDDR4メモリーの「メモリークロック」が、どれくらいゲーミング性能に影響を与えてしまうのか。Legit Reviewsが公開しているデータを参照して確認してみます。
DDR4 Memory Scaling Performance with Ryzen 7 2700X on the AMD X470 Platform
テスト環境はCPUに第2世代Ryzen最上位の「Ryzen 7 2700X」を使い、グラフィックボードは最もボトルネックが発生しやすい「GTX 1080 Ti」。マザーボードは「X470」チップセット搭載。
肝心のメモリーはAMD公認※のG.Skill Sniper Xを使用。型番はF4-3400C16D-16GSXWで、8GBの2枚組。CAS Latencyは「16-16-16-32 1T」で固定。メモリクロックのみの影響を調査する。
※ G.Skill Sniper XはAMDが企業向けの評価キットに同封しているメモリーなので、実質「公認」と見ていいだろう。
コメントで指摘があり調べたところ、Sniper Xの3400Mhz版のみが「AMD対応」を謳うメモリで、それ以外の3600Mhz版などはそうではないメモリでした。
21台目のRyzenマシン自作時に、3600Mhz版がすんなりと動作しているので…てっきりSniper Xは全てRyzen正式対応メモリだと思い込んでいました。
GTX 1080 Ti / Far Cry 5 @1920 x 1080 & 低設定
最大フレームレート平均フレームレート最低フレームレート
Far Cry 5をフルHD(低設定)でプレイした場合がこれ。見ての通り、メモリークロックが上昇するに連れて、実際のゲーミング性能が伸びている。
標準的なDDR4-2400だと本来の性能を出し切れていない感がすごく、DDR4-3466以降は頭打ちになっています。Ryzenの性能を引き出すなら、少なくとも3000Mhz以上。
可能なら3400Mhz以上のメモリーが欲しいところです。
GTX 1080 Ti / Far Cry 5 @1920 x 1080 & 標準設定
最大フレームレート平均フレームレート最低フレームレート
ただし、設定を「低」から「標準」にしてフレームレートを落とすとメモリークロックの影響が若干マシになり、DDR4-3200以上は頭打ちになりました。
結論とまとめ
- メモリークロックを上げると、ゲーミング性能が向上
- グラフィック品質を最高にすればするほど、差は減っていく
この2点が分かりました。
メモリークロックは基本的にPCの性能に与える影響がそこまで大きくない要素ですが、AMD Ryzenは例外的な存在と言えます。
Ryzenの性能をしっかりと引き出したいなら「G.Skill Sniper X」など、Ryzenにしっかり対応している高クロックメモリーと組み合わせるのが「無難」な選択だ。
ぼくもRyzen 7 2700Xで1台自作していますが、採用したメモリーはG.Skill Sniper Xの3600Mhz版(F4-3600C19D-16GSXW)です。
本気でゲーミング性能を重視する人へ
もしGTX 1080や1080 Tiといった、フルHDで3桁台のフレームレートを叩き出す高性能グラボを使うつもりなら最強のゲーミングCPUである「i7 8700K」を検討した方が良いかも…。
「Ryzen 7 2700Xの強みと弱み:i7 8700Kと性能比較」で解説していますが、たとえDDR4-3400にそろえても8700Kとは平均で10%程度、ゲーミング性能で抜かされています。
フレームレートが3桁を超える高速環境であればあるほど、Core i7の方が有利な結果を出しやすいので「可能な限り最高のフレームレートを叩き出したい。」と考えるガチなゲーマーさんはi7へ。
しかし、逆に2桁台のフレームレートならRyzenの持つ他のメリットで完全に相殺される程度の差に収まることも忘れずに。
i7 8700Kより安い選択肢でありながら、8コア搭載なのでマルチタスク性能はなかなかのモノ。利点が欠点を上回るので、GTX 1080以上を使わないなら2700Xはとても魅力的だと思ってます。
以上「AMD Ryzenのゲーミング性能はメモリークロックが重要」という話でした。
2枚と4枚ではどれくらいの差が出ますか?
AMD Ryzenは最大でデュアルチャネル(帯域2倍)にしか対応していないので、4枚にしたところで特に意味はないです。
すみませんDR(ディアルランク)のディアルチャンネルにしたらどうなるのでしょうか?
ASRockのX470見てきたのですがDR対応してるとのことで、実質クアッドチャンネルみたいな感じだと思うのですが。
今回検証に使われたものはRANK数非公開で分からなかったです。
Far Cry 5 1920×1080 低設定だと3466MHz以上で頭打ち。
Far Cry 5 1920×1080 標準設定だと3200MHz以上で頭打ち。
高設定や最高設定だと2700~3000MHz以上で頭打ちですかね?。
GTX 1080 Tiの場合でもあるしで、取り合えず3000MHzまで上げていれば十分そうですが、気分的には2700Xならば3200MHzまでは上げておきたいかなと。
コスパ的にも、3200 Mhzあたりがちょうどいいと思います。
メモリの性能の指標にクロック以外にレイテンシ(タイミング?)があるそうですが
Ryzenはレイテンシが緩くてもいいからクロックをとにかく上げれば効果が出るのでしょうか
レイテンシの方がオーバークロックの難易度が高いので、クロックのOCが一般的だと思います。
少なくとも今回のデータではレイテンシをいじらず、クロックを上げるだけで効果が出ているので基本的にはメモリクロック重視で良いかと。
知ったかなので補足や指摘があると嬉しいですが…
レイテンシとレスポンスのはっきりとした違いを書かれているものが見つからなかったので、私が見た記事のレイテンシは動作クロックでレスポンスは動作内のタイミングで書かきます。
基本的に動作クロック(レイテンシ)が大きいほうが有利で、同クロックならシングルよりディアルチャンネル、同クロックならタイミング、更に今回よく見て知ったのですがランクというものがあり1より2ランクのほうがfpsに影響があるようです。
しかしこれらで最も影響があるのはゲームより暗号処理が速くなるとのこと。
これらは全体的な応答速度であると思います。
全体的に安定する動作や最初の応答速度とかはよくわかりませんでした。
しかし動作クロックよりチャンネル数、ランク、メモリタイミングが帯域とやらが違うので最初の応答速度や安定する動作に影響すると思います。
書き忘れていましたがランクについてはRyzenで知名度が上がったとのこと、動作クロックやタイミングが速いものと同様に、メモリ両面にDRAMチップがついているのが多い(というより1ランクで両面はあるけど2ランクで片面は無いかな?)のでスロットが壊れやすくなるとのことです。
あと構成とやらがあり、ものすごい誤差だと思いますがそこまで詳しく書かれた速度の記事は見つかりませんでした。
あれからまた少し調べてみました。
現在メモリはCPU速度についていけず、メモリの高速化はクロック周波数を上げることのほうがタイミングより容易であり、いっぺんに容量の大きいデータを送るほうが結果、高速化できるとのこと。
タイミングを速くするのは物理的に難しくネット回線みたいなもの。
だからと言ってクロックを上げてもタイミングがおかしいとパフォーマンスが上がらずまた安定しない(例えばDDR4-3200のタイミングを大きく緩めた場合2666よりアプリのパフォーマンスの変動があり下がり)適切な低い数値にしなければならない。
詰めるとRyzenではこれがわかりやすくスコアが伸びるのでタイミングも重要とのこと。ただ設定できるやつにしたほうが工場で安定したものを提供しているから安定するので買うとき以外気にしなくていいと思います。
そのうちこのタイミングの問題を少しでも解決した製品が出るかもしれません。
3D-Xpointが1/10のレイテイシ削減できたとか言っていましたしこれを基にした物理メモリとかでるんじゃないかなーと思っています。
>「G.Skill Sniper X」など、Ryzenにしっかり対応している
例外的にF4-3400C16D-16GSXWだけがRyzen対応なだけでSniper xシリーズは基本的にINTELチップセット向け製品群だぞ
Ryzen 7 2700Xで組んだ時にSniper Xの3600Mhz版が一発で安定動作したため、Sniper Xはそういうシリーズなのかと思いこんでました…。
記事に指摘された点を追記しておきました。ご指摘ありがとうございます。
メモリ速度も気にすると結構コストかかってくるのが悩ましい
結局ゲーム性能で8700Kに勝てないしグラボがボトルネックになるような高解像度or高設定ではあまり差が出ない。
Ryzenを買う層の中で100fps超えの環境下で10fpsの差を気にする人が少ないことを考えると、むしろクロックは2666程度に収めてマルチタスクのための容量重視で行ったほうが利口なんじゃないかなという気にはなります。
メモリのOCは運を絡めないと非常に金もかかる(メモリのグレードやどこのチップかだけでなくマザーとの相性、個体差も)ので、オーバークロッカーがお御籤感覚でやるものだと思います。コスパ求めてRyzen用のオーバークロックメモリを買うのは何か違うかと。
自作pc二代目をRYZEN7 2700Xで作ろうと思っているものです。RYZENが対応している最大メモリー速度よりも周波数が高いものを使うときに「RYZEN対応」と書かれているメモリを選べばよいのでしょうか?それとも、そうでなくても動作確認済みのメモリを買ったほうが良いのでしょうか?(使う予定のメモリは、G.skillトライデントZシリーズです。インテル向けと書いてあったので、ちょっと悩んでいるところです。)
コストパフォーマンス的にはどのクロックがいちばんよいのでしょうか
3200MHz C14
一般的な液晶モニターは60Hz(60fps)までしか表示出来ないので内部で100fps出ていようが1000fps出ていようがスクリーンには60fpsしか表示出来ない、
車で言うところの60キロ制限の道路で無駄にエンジン空ぶかしするようなもんです。
120Hz(120fps)や144Hzのゲーミング液晶使っている人なら効果はあるものの、
60Hz液晶で内部フレームレートが90fps→100fpsになってもまったく意味は無いです。
[…] ・AMD Ryzenのゲーミング性能はメモリークロックが重要 更新日2018.05.15 […]