数週間前、AMDのプロセッサーでパフォーマンスを低下させるWindows 11のバグがどの程度のものかを確認するために、ゲーム用ベストCPUリストに掲載されているAMD Ryzenチップのうち、いくつかの主要なものをいくつかのゲームベンチマークやターゲットテストにかけました。先週、パッチが提供されたので、その影響を確認するためにテストを行い、記事を更新しました。
AMDとマイクロソフトが共同でWindows 11の2つの性能低下バグを調査しているという当初の発表は目を見張るものがありました。特に、このバグはすべてのWindows 11対応AMDプロセッサーに影響を与え、AMDによると、一部のeSportsタイトルでは最大15%、デスクトップPCアプリケーションでは3~5%、ゲームのパフォーマンスが低下したとのことです。
元々の問題は、少なくとも合成ベンチマークではかなり深刻だったようです。下記の広範なCPUベンチマークでご覧いただけるように、AMDのL3レイテンシーはWindows 11ではWindows 10に比べて最大6倍にもなり、L3バンド幅はWindows 10では最大12倍にもなることがわかりました。しかし、ゲームテストではそれほど深刻な影響は見られませんでした。あるゲームタイトルでは、Windows 10とWindows 11の差が7%と最も大きくなりましたが、他のゲームタイトルではそれよりもはるかに小さな差でした。注目すべきは、Windows 11の最初のアップデートでテストしたところ、実際にバグが悪化したことです。
その後、パッチテストを実施したところ、完全にパッチを適用したシステムでは、ほとんどのゲームがパッチ適用前のパフォーマンスの2%以内に収まっています。このバグは、8コア以上のチップに最も影響を与えるため、CPUベンチマークの階層を支配する12コアのRyzen 9 5900Xを使ってパッチをテストしました。
その結果、「Project Cars 3」では7.5%、「Shadow of the Tomb Raider」では6.7%の性能向上が見られました。全体的には、すべてのテストにおいてパフォーマンスの向上と低下は見られませんでした。一方、L3キャッシュと帯域幅の測定結果は劇的に改善されました。
率直に言って、このバグは最悪のタイミングで発生したと言えるでしょう。インテルは、強力と思われるAlder Lakeチップの発売を目前に控えており、優位性を取り戻すことができるかもしれません。さらにAMDにとっては、Windows 11にはAlder Lake専用のスケジューラー最適化機能が搭載されているため、レビュアーは新しいOSを使ってテストを行うことになります。そのため、このバグが原因で不公平な比較が行われるのではないかという懸念がありましたが、今回の迅速な解決により、少なくともその懸念はなくなりました。
しかし、インテル社は先週、Alder LakeとAMD社のRyzen 9 5950Xとのゲーム性能のベンチマークを発表しました。その際、インテルはパッチが適用される前に5950Xをテストしたことを明かしたため、このベンチマークが2つのチップの真の違いを表していないと非難されました。
2つの深刻なバグが、AMDとMicrosoftの両方のQAチームを通過したことは驚くべきことです。L3バグの最初の報告は、数ヶ月前に愛好家がWindows 11のプレリリースビルドをテストしていたときに、フォーラムに現れました。また、AMD社は、UEFIのCPPC2(Collaborative Power and Performance Control 2)機能(軽いスレッドの作業をチップ上の最速コアに誘導する技術)にも、(ゲームなどの)軽いスレッドのアプリケーションに影響を与える問題があることを報告しました。AMDによると、このバグは8コア以上でTDPが65W以上のチップで検出されやすいとのことです。(なお、これらの問題は、マイクロソフト社が推奨するVBSおよびHVCIのセキュリティ設定にまつわるパフォーマンス問題とは別の問題であり、この問題は大きな反響を呼んでいます。我々は先日、これらの問題を検証しました)。
AMDとマイクロソフトは共同で問題を調査し、CPPC2問題を修正するソフトウェアアップデートと、L3レイテンシー問題を修正するWindowsアップデートを先週配信しました。
Windows 10 vs Windows 11 ゲーミングパフォーマンス・ベンチマーク
Windows 11 Pro 23000.258と、Windows 11に対応したNvidia 472.12グラフィックスドライバー(最新のドライバーはテスト終了後に到着)でテストを行いました。CPUテストと同様に、グラフィックスのボトルネックを最小限に抑えるため、Nvidia GeForce RTX 3090を使用しました。また、解像度は1920×1080にこだわりましたので、解像度やグラフィックカードが異なるとバグの影響が変わることに注意してください。また、限られたゲームでテストを行ったため、他のタイトルではパフォーマンスのデルタが異なる可能性があることに注意してください。
Ryzen 9 5900X パッチ前とパッチ後の比較
Tom’s Hardware | Ryzen 9 5900X / Win11 + Chipset Patch | Ryzen 9 5900X / Win11 Patch Only |
---|---|---|
Project Cars 3 | +7.5% | +4.6% |
Shadow of the Tomb Raider | -6.7% | -2.8% |
Dota 2 | +2.9% | Even |
Strange Brigade | +2% | +1.5% |
Red Dead Redemption 2 | Even | Even |
Far Cry 5 | -1.5% | Even |
Grand Theft Auto V | Even | Even |
ゲーミングテストの詳細は後述しますが、上の表はこの問題をよく表しています。私たちはRyzen 9 5900Xで、Windows 11パッチのみを適用した場合(Win11 Patch Only-右端)と、Windows 11パッチとAMDチップセットドライバーの両方を適用した場合(Win11 + Chipset Patch-問題を完全に解決するには両方が必要です)に、ゲームを再テストしました。
L3問題を修正するWindows 11パッチを適用した結果、「Project Cars 3」が4.6%増、「Strange Brigade」が1.5%増と非常に小さな伸びを示した一方、「Shadow of the Tomb Raider」は2.8%減となりました。残りの4タイトルは1ポイント以内のスコアで、これは引き分けと考えています。
AMD社の新しいチップセットドライバーには、(ゲームのような)ライトスレッドのワークロードでのパフォーマンスを向上させるスレッドターゲット機能にパッチが適用されており、これを加えると、利益と損失の両方に少しずつ変化が見られます。例えば、「Project Cars 3」ではさらに数ポイント向上し、「Shadow of the Tomb Raider」ではさらに~4%低下します。注目すべきは、DOTA 2もAMDチップセットドライバーでわずかに高速化することです。
上のアルバムの最初の2つのグラフは、テストした7つのタイトルの幾何平均値を示します。全体的にはWindows 10の方がまだわずかに高速ですが(1% では意味がありません)、平均fpsはパッチ適用前とパッチ適用後のWindows 11の構成で1フレーム以内に収まっています。99パーセンタイルフレームレートの全体的な測定でも同様の結果が得られました。上の表で述べたように、いくつかの個別のタイトルではより顕著な違いがあり、それはアルバムでも確認することができます。
比較対象としてCore i7-11700Kを使用したのは、OSの変更によって予想される差異を大まかに把握するためです。しかし、ゲームコードとドライバーはそれぞれのCPUアーキテクチャに対して異なる反応をするため、11700Kはよくても曲がった測定基準になってしまうことに注意してください。
Windows 10からWindows 11へのパフォーマンスの変化
Tom’s Hardware | Ryzen 9 5900X Win11 + Chipset Patch | Ryzen 9 5900X Win11 Patch Only | Ryzen 9 5900X / Pre-patch | Ryzen 7 5800X | Core i7-11700K |
---|---|---|---|---|---|
Project Cars 3 | Even | -3.2% | -7.3% | -5.3% | -1.9% |
Shadow of the Tomb Raider | -2.3% | +1.8% | +4.8% | Even | -0.8% |
Dota 2 | Even | -2.6% | -2.9% | -1.4% | +1.9% |
Strange Brigade | Even | -0.6% | -2.0% | -1.2% | Even |
Red Dead Redemption 2 | Even | Even | +2.9% | Even | Even |
Far Cry 5 | -5.4% | -3.9% | -3.9% | Even | -1.7% |
Grand Theft Auto V | Even | Even | 0.3% | -0.5% | -0.2% |
上の図は、Windows 10をベースラインとしたパフォーマンスの差分を集計したものです。パッチ適用前は、テストしたゲームの中で5900Xが最もパフォーマンスを落としていましたが、ほとんどの差異は非常に小さいものでした。
AMD社の当初の勧告では、一部のeSportsゲームで10~15%の影響があると指摘されていましたが、私たちのテストではそのような現象は見られませんでした。ただし、ゲームやアプリケーションによって影響が異なるため、そのような差異が存在しないわけではありません。
それでは次に、L3キャッシュのバグについて詳しく見ていきましょう。
AMD Windows 11 L3キャッシュ・バグ – レイテンシー
AIDA L3キャッシュレイテンシー測定結果
Tom’s Hardware — L3 Latency | Windows 10 | Windows 11 | Windows 11 Fix |
---|---|---|---|
Ryzen 9 5900X | 10.54 | 29.23 | 10.57 |
Ryzen 7 5800X | 10.72 | 30.18 | 11.51 |
Ryzen 7 3800X | 9.58 | 35.34 | – |
Core i7-11700K | 11.78 | 11.78 | – |
AIDAユーティリティーを使って、上記のレイテンシー測定を記録しました。Windows 10と11の間では、AMDチップではすべて約3倍の増加が見られましたが、Intelチップではどちらのバージョンでも同じL3測定値が得られました。パッチを適用した5900Xと5800Xを再テストしたところ、ご覧の通り、レイテンシーは正常に戻りました。
オンチップキャッシュの基本的な考え方は、頻繁にアクセスされるデータをできるだけ実行コアの近くに置き、パフォーマンスを向上させることです。L3キャッシュは、他のキャッシュ(L1やL2など)よりも低速ですが、容量が大きいため、より多くのデータを保存することができ、ヒットレート(有用なデータがキャッシュに保持される回数)が向上します。L3キャッシュはパフォーマンスにとって非常に重要であり、特にゲームではL3レイテンシーの高さやキャッシュ容量の減少に悩まされることがあります。
上の最初の4枚のスライドは、Chips and CheeseチームのMemory Latencyツールを使用して、AMD Ryzen 5900X、5800X、およびIntel Core i7-11700Kで行ったキャッシュおよびメモリーレイテンシーのベンチマークの概要です。これらのテストでは、データチャンクのサイズを変えてキャッシュレイテンシーを測定していますが、グラフの中央付近では、パッチを当てていないWindows 11のL3レイテンシーが非常に高くなっていることがはっきりとわかります。実際、最初の 2 つのスライドの黒い線でわかるように、最初の Windows 11 のアップデートによって、この問題はさらに深刻になりました。
すべての合成テストにおいて、AMDチップセットドライバーとWindows 11パッチの両方でパフォーマンスを再測定しました。最初に行った詳細なテストでは、Ryzen 5000チップではL3レイテンシーが約5倍、Ryzen 7 3800Xでは約6倍に増加しました。一方、Windows 11では、Core i7-11700Kがキャッシュとメモリのレイテンシーをわずかに改善しました。
再テストの結果、標準的なばらつきと考えられる小さな変動を除けば、AMDのL3レイテンシーの測定値は、この一連のテストでは正常に戻っていることがわかりました。
ベンチマーク・ユーティリティーによっては、独自の測定方法、アルゴリズム、およびキャッシュ・ストライドでテストを行うため、結果が異なる場合があります。そのため、私たちはSiSoftwareのSandraを使って、3つの異なるアクセスパターンでキャッシュとメモリのレイテンシを測定しました。これにより、単一のテストよりも詳細な結果を得ることができ、他のツールで記録した結果の健全性を確認することができました。最後の3枚のスライドは、5900Xの3つの異なるデータパターンでの結果を示しており、他のテストで見られたものと概ね一致します。繰り返しになりますが、最近のWindows 11パッチとAMDのチップセットドライバーにより、L3レイテンシーの問題は完全に修正されました。
- シーケンシャルアクセス:ほぼ完全にTLBにプリフェッチされており、プリフェッチャーの性能を測るのに適しています。
- In-page random:同一メモリページ内のランダムアクセスを測定します。TLBのパフォーマンスも測定し、ベストケースのランダムパフォーマンスを表します。
- フルランダム:TLBのヒットとミスが混在しており、ミスの可能性が高いため、最悪のレイテンシーを数値化します。
AMD Windows 11 L3キャッシュバグ – 帯域幅
L3キャッシュの帯域幅に関する最初のテストでは、非常に驚くべき結果が得られました。AIDAの測定によると、Windows 10ではRyzen 7 5900Xの方がL3リード帯域幅が7.5倍、ライト帯域幅が15倍、コピー帯域幅が12倍多く、Ryzen 7 5800Xと3800Xでも同様の結果となりました。注目すべきは、コピー帯域幅が3つの測定項目の中で唯一、アプリケーションのパフォーマンスを示すものだということです。
パッチを適用すると、Ryzen 9 5900Xはコピーワークロードでほぼすべてのパフォーマンスを回復することがわかります。テストではまだ-3.68%の性能差が計測されますが、これはテストの標準的な実行間変動と考えられるものにかなり近いものです。全体的に見て、これは大きな改善です。
5800XのL3帯域幅は、Windows 10の測定値に比べてまだ23%も遅れます。これは大幅な改善ですが、さらに改良の余地があります。 時間の都合上、3800Xの再テストはまだ行っていませんが、同様の改善を期待します。
繰り返しになりますが、ユーティリティーによって方法論が異なるため、SiSoft Sandraでもテストを行い、帯域幅について異なる見解を得ました。3枚目のスライドでは、5900Xはパッチが適用されていないWindows 10でも、Windows 11に匹敵する帯域幅を提供していることを示しており、方法論の違いとこの種の指標のより一般的な性質を強調します。同じユーティリティを使用して、より詳細なテストを行ったところ、フルスイープでテストした場合(4枚目のスライド)、当初のWindows 11テストと比較して、8,000~25,6000KBの範囲で帯域幅が顕著に増加することがわかります。これは、特定のアクセスタイプや領域で改善が見られることを示します。
最後に,SiSoft Sandraのコア間レイテンシーと帯域幅テスト(ベストペ アマッチ)を用いて,様々なデータタイプに対するInfinity Fabricのスループットを測定しました。5800Xの場合、パッチ適用前の結果では、いくつかのデータタイプでスループットが大幅に低下しており(緑の線)、再現性もありました。Windows 11とAMDのパッチにより、この問題はほぼ修正されました。
奇妙なことに、8つ以上のコアを持つRyzen 9 5900Xは、我々の予想に反して、同じような一貫性のないパフォーマンス傾向に悩まされませんでした。また、パッチ適用後も同様の結果が得られました。
AMD Windows 11パッチテストの最終的な感想
Windows 11パッチは、L3キャッシュのレイテンシーと帯域幅に関するいくつかの問題を修正したことは間違いありませんが、合成測定での大きな違いは、実際のゲームテストのほとんどには反映されませんでした。
ゲームやアプリケーションによって、アクセスパターンやレイテンシーに対する感度が異なるため、キャッシュレイテンシーの影響は様々です。その結果、「Project Cars 3」では7.5%の大幅な向上が見られましたが、「Shadow of the Tomb Raider」では6.7%の性能低下が見られました。
市場で最も強力なGPUを使用して低解像度でテストを行ったことを念頭に置くと、測定された差は増幅されることになりますが、ほとんどのユーザーは通常のゲームセッション中に影響を感じることはないと確信しています。実際、すべてのゲームテストの幾何平均値として測定した場合、パッチの効果はほとんどありませんでした。最終的には、パフォーマンスの差はタイトルによって異なりますが、大部分のゲームでは大きな差が出ないと思われます。