Pages

Thursday, July 6, 2023

アップグレード後の性能が知りたい メモリが買い時の今こそ ... - PC Watch

layaknaik.blogspot.com

「アップグレード後の性能が知りたい!」では、さまざまなデバイスをアップグレードし、使い勝手やパフォーマンスの改善度を検証していきます。

メモリを大容量にすればパフォーマンスアップできる?

 メモリがお手頃価格になっている昨今、これだけ安価なら思い切って大容量メモリにアップグレードしちゃおうかしら、なんて気持ちになってしまうのはPCユーザーなら仕方のないこと。筆者も長らく32GBでやってきたが、試しに64GBに増設したらどうなるかな~、なんて興味が湧いてきてしまった。

 筆者のPCの使い方では32GBでも特に不満を感じることはなかったのだけれど、もし64GBにしてそれなりにパフォーマンスアップするのであれば投資するのもやぶさかではない。

 64GBメモリ(DDR4、32GB×2)の値段はほとんどが2万円を切っており、万一「パフォーマンスに大した影響はなし」という結果になったとしてもコスト的にはギリギリあきらめがつくレベルだ。

 新しいPCではDDR5がスタンダードになりつつある。が、メモリだけであればそこまで値段は高くないものの、従来環境からのアップグレードとなるとほとんどの場合マザーボードやCPUの交換も強いられるため、決してお手軽にアップグレードできるものではない。

 その意味で、旧世代のDDR4メモリをリーズナブルに増設したときの性能改善がどれほどのものかは気になるところ。

 というわけで今回は、 メモリ容量を16GB(16GB×1)、32GB(32GB×1)、32GB(16GB×2)、64GB(32GB×2)の4パターンでいろいろベンチマークテストを実行。 どれくらいパフォーマンスに差が出るのか、出ないのか、確かめてみた。

SSD化、メモリ圧縮で気付きにくくなった(?)メモリ不足

検証に使用した64GBメモリは、CORSAIRの「VENGEANCE LPX」シリーズ(自腹購入)

 メモリの大容量化でパフォーマンスがどうなるのかを試したくなった理由はもう1つある。それは、今となっては仮想メモリへのデータ退避、いわゆる「スワップ」に気付きにくくなったせいで、メモリ不足によるパフォーマンス低下も自覚しにくくなったと思うからだ。

 メインストレージがHDDだった時代は「カリカリ」というシーク音をしょっちゅう聞いていたが、SSDがメインになった結果、「カリカリ言わない=スワップしていない=メモリ不足になっていない」と勘違いしているのではないか。もしかしたら裏側ではものすごいスワップが発生していて遅くなっているのでは?と。

 そもそもWindows 10/11では「メモリ圧縮」機能によってスワップの発生が抑えられているし、HDDよりはるかに高速なSSDのおかげで、もしスワップしていたとしても体感するほどパフォーマンスが落ちない、という可能性もある。

 ということもあってか、初っぱなに半分くらい結論を言ってしまうことになるのだけれど、当初は32GB(16GB×2)環境と、64GB(32GB×2)環境の2パターンのみで検証する予定だったのだが、残念なことにほとんどのテストでメモリ容量の違いによる性能差が見られなかった。

 なので、メモリ容量を減らした16GB(16GB×1)環境と、32GB×1枚の環境でもテストしてみることにした。

 テストに使用した環境は以下の表の通り。メモリについては、16GB(16GB×1)と32GB(16GB×2)の環境ではDDR4-2666対応品を、32GB(32GB×1)と64GBの環境ではDDR4-3200対応品を使用している(いずれも定格動作とした)。なので、純粋にメモリ容量の差だけのテストにはなっていない。

テスト用PC環境
OS Windows 11 Pro
CPU Ryzen 7 5800X
(8コア16スレッド、最大4.7GHz、TDP 105W)
メモリ 16GB(DDR4-2666、16GB×1)
32GB (DDR4-3200、32GB×1)
32GB (DDR4-2666、16GB×2)
64GB (DDR4-3200、32GB×2)
GPU GeForce RTX 4070 AERO OC 12G
マザーボード MSI MEG X570 UNIFY
ストレージ1 Samsung 990 PRO 2TB (NVMe/M.2、PCIe 4.0 x4)
ストレージ2 Samsung 970 1TB (NVMe/M.2、PCIe 3.0 x4)
ストレージ3 Samsung 870 2TB (SATA、6Gbps)
ディスプレイ Alienware AW3420DW (34型、3,440×1,440ドット、最大120Hz)
通信機能 有線LAN(2.5GbE)、Wi-Fi 6
電源 SilverStone ST75F-GS (750W 80PLUS Gold)

 メモリ1枚の環境はシングルチャネル、メモリ2枚の環境はデュアルチャネルとなり、データ転送速度の面でシングルチャネル環境は不利だ。

 また、32GB(32GB×1)と64GBの環境のみDDR4-3200になることから、このクロックアップ分がDDR4-2666環境より有利に働くかもしれない。

 テストで表れたパフォーマンス差が容量によるものなのか、シングル・デュアルチャネルによるものなのか、あるいはクロックによるものなのか、という点にも注目したい。

 なお、アップグレード先にDDR4-3200を選んだのは単に入手性の問題だ。より高クロックな製品もあるが、少なくとも日本国内ではあまり潤沢に流通していない。そういった高クロックメモリは今はDDR5が主戦場になっている。

 DDR5対応のシステムにアップグレードするのは先述の通り高コストになるため、既存の資産を生かしたまま大容量のDDR4-3200にする、というのが果たして現実的な選択肢になりうるのか、といった観点からもチェックしてみてほしい。

メモリの大容量化は効果があるのか、筆者のメインPCで検証

3Dゲームのベンチマークでお手並み拝見

 最初はゲームのベンチマークから見ていこう。用意したのは「ファイナルファンタジーXIV: 暁月のフィナーレ ベンチマーク」と、6月にリリースされた注目作品「BLUE PROTOCOL」のベンチマーク用ソフト「BLUE PROTOCOL ベンチマーク」だ。

「ファイナルファンタジーXIV: 暁月のフィナーレ ベンチマーク」の結果

 「ファイナルファンタジーXIV」は、メモリ容量に応じて順当にパフォーマンスアップしているように見受けられる。

 16GB(1枚)→32GB(1枚)より、32GB(2枚)→64GB(2枚)の方が上昇率が大きいことを考えると、とにかくメモリを積んでいるほど快適になりそうな雰囲気だ。また、高クロックにするよりデュアルチャネルにすることを考えた方が効率良くパフォーマンスを上げられると思われる。

「BLUE PROTOCOL ベンチマーク」の結果

 「BLUE PROTOCOL ベンチマーク」も似たような傾向にあるが、こちらは容量による差というよりも、どちらかというとクロックによる差が顕著に表れているようで、デュアルチャネルの有利さがより目立つ形になっている。

 おそらく高クロックかつデュアルチャネルであれば、16GB程度の容量でも高いスコアを叩き出すのではないだろうか。

画像生成AI「Stable Diffusion」

「Stable Diffusion」をローカルで実行

 次は画像生成AIの「Stable Diffusion」をローカル環境で実行し、画像生成にかかる時間をテストしてみた。いずれも共通のプロンプトを用い、出力される画像サイズとバッチカウント(一度に生成される画像数)を変えながら実行している。標準のモデル以外は追加していない。

「Stable Diffusion」における画像生成時間

 結果はご覧の通り、ほとんど横一線。16GB環境でわずかに時間がかかっているかな、といったところだ。これは「Stable Diffusion」がメインメモリよりもビデオカード側のメモリ(VRAM)の容量や速度に依存しているためと考えられる。

 つまり高性能なビデオカードにするほど短時間で処理できるはずだ。ただ、もしCPU内蔵GPUでVRAMをメインメモリと共有するような環境だと、メインメモリの容量・クロックによって結果は大きく変わってくるに違いない。

「Photoshop」で100枚の画像を読み込む

 なかなかメモリ容量によるはっきりした違いが見えてこないが、とにかくメモリに負荷をかけてみようと思い、「Photoshop」で6,000×4,000ドット前後のJPEG画像100枚を連続で読み込み、それにかかった時間を計測するスクリプトを回してみることにした。

「Photoshop」における画像100枚読込時の時間

 するとどうだろう。こちらもほとんど差が出なかった。シングルチャネル環境で若干の速度低下が見られるが、容量やクロックはほとんどパフォーマンスに影響していない。

 少なくともこの程度の負荷ではメモリ容量を増やしても効果はないようだ。Windows 10/11がもつメモリ圧縮の機能がうまく働いていることも考えられる。

他ソフトも起動した状態でRAW画像の現像処理

 ここまでアプリケーション単体で実行してきたが、以降はよりメモリ負荷を高めるために、ほかのアプリケーションもいくつか起動したままにして、メモリ使用量が常に多い状態にした時のテストも加えてみることにした。

 主に「DxO PhotoLab」(RAW画像50枚のフォルダを開いた状態)、「Photoshop」(画像100枚を開いた状態)、「Davinci Resolve」(4K動画の編集画面を開いた状態)、「Blender Benchmark」の4つを起動している(ほかにも細々とした常駐ソフトが動いている)。

 まずはRAW画像の現像にかかる時間を確認するため、「DxO PhotoLab」で50枚のRAW画像(約6,000×4,000ドット)を処理してみた。

「DxO PhotoLab」におけるRAW画像50枚の現像処理時間

 ここでも大容量化の恩恵ははっきりとは感じられなかった。64GB環境が高速なのは確かだが、32GB(16GB×2)との差はわずかで、クロックの高速化分が反映されているのではないか、という感じ。

 また、デュアルチャネルの方が明らかに高速な結果となっている。16GB環境については、特に複数アプリケーション起動時にメモリ不足気味になっていると思われるが……。いずれにしろ32GB以上あればパフォーマンス的には不満はなさそうだ。

「Photoshop」のニューラルフィルターを使う

 次に「Photoshop」で1枚の画像に対して2つのニューラルフィルターを適用するのにかかる時間を計測した。「風景ミキサー」を実行した後、「スーパーズーム」で2倍に高解像度化する操作をスクリプト化したものだ。これらはWindowsのタスクマネージャーでメモリ消費量を監視していたなかで、メモリ使用量が多めだったフィルターになる。

 このスクリプトを1回実行したときと、続けてもう1回実行したときの時間が下記のグラフだ(元画像は約6,000×4,000ドットでそれを2×2倍するので、最終的な画像サイズは約24,000×16,000ドットとなる)。アプリケーション単体を実行した時と、複数アプリケーションを起動したままで実行した時の結果を並べている。

「Photoshop」のニューラルフィルター処理(拡大率2倍)の時間

 1回目(拡大率2倍)のスクリプト実行結果は、どちらかというとメモリ容量よりデュアルチャネルかどうかがパフォーマンスに影響しているように見える。16GBだとさすがに容量不足になっている雰囲気もあるが、デュアルチャネルであれば32GBと64GBの間で大きな差は開いていない。

「Photoshop」のニューラルフィルター処理(拡大率4倍)の時間

 2回目のスクリプト実行の結果は若干ばらついた。デュアルチャネルだと複数アプリケーション実行時に想定通り遅くなっているが、これはメモリ負荷というよりも、アクティブでないほかのアプリケーションがCPUに負荷を与えている(割り込んでいる)、もしくはメモリ圧縮の処理でCPU負荷が大きくなっていることが影響しているように思われる。

 一方でシングルチャネルが遅いのは間違いないが、複数アプリケーション起動時の方が短時間で処理が完了しているのはちょっと謎。複数アプリケーション起動時は非アクティブなものを積極的にメモリ圧縮するなどしてアクティブなアプリケーションにメモリを割り振る、というようなアルゴリズムになっているのかもしれない。

3Dモデリングソフト「Blender」のベンチマーク

 メモリ食いのアプリケーションと言えば3DCGソフト(筆者の勝手なイメージ)。というわけで、今度は3DモデリングソフトのBlenderからリリースされている「Blender Benchmark」を試してみる。

「Blender Benchmark」単独実行時の結果
「Blender Benchmark」複数アプリケーション起動時の結果

 全体的に見て差は少なく、容量より高速なクロックとデュアルチャネルであることがパフォーマンスの向上要因になっていることを裏付けるだけの結果になってしまった。

 複数アプリケーション起動時はそれぞれ少しずつスコアが落ちているが、これもほかのアプリケーションの割り込み、もしくはメモリ圧縮でCPUに負荷がかかっていることが原因だろう。

「Davinci Resolve」と「HandBrake」の動画エンコード時間

 期待していたようなメモリ容量増による効果がほとんど目に見えず、意気消沈しながらも最後の気力を振り絞って動画エンコードにかかる時間も計測してみた。1つ目は「Davinci Resolve」で4分間の4K動画(60fps)をMP4(H.264)エンコードしたものだ。

「Davinci Resolve」における4K動画エンコード時間

 これもシングルチャネルとデュアルチャネルの違いが顕著な差を生んでおり、クロックもエンコード速度に大きく関わっていることが分かる。

 ほかに複数アプリケーションが起動しているかどうかは気にするほどの差にはなっていない。ただし16GBだと容量不足感が漂ってはいるので、最低でも32GB以上がほしくなるところ。

 そしてDavinci Resolveで出力したMP4ファイルを、エンコード専用ソフトの「HandBrake」を使ってH.265で再エンコードするのにかかった時間が下記。「Davinci Resolve」と似た傾向にあり、高クロック・デュアルチャネルは必須といった感じだ。

「HandBrake」における4K動画エンコード(H.265)時間

コストパフォーマンスを考えれば32GBがおすすめか

 結論としては、少なくとも今回のテスト範囲に限れば、 64GBにアップグレードすることはまったく無意味とは言わないまでも、決してコストパフォーマンスの良い買い物ではない、 ということになる。

 もしアップグレードするのであれば、シングルチャネル(メモリ1枚)からデュアルチャネル(メモリ2枚)に変えるか、高クロックのメモリに換装する方がどちらかと言えば効果的だろう。

 もちろん今回のテスト内容がメモリ容量に左右されにくいものになっていた可能性はある。たとえばローカルに大規模データベースを構築してオンメモリで処理させる、みたいなことをするときは大容量であるほど有利になるはずだ。

 しかし、そうなるともはや一般的なPCの使い方とは言えず、多くの人にとって意味のあるテストになると思えないのが悩ましい。

 とは言え大前提として、Windows 10/11ではメモリ圧縮機能が効果的に働くためか、メモリ不足気味であっても(CPU性能が十分に高ければ)かつてのPCのような劇的なパフォーマンス低下を避けられると思われる。

 これは言い換えると、反対にメモリを目一杯増設したところで、いきなり処理速度が数倍になるようなこともない、という意味にもなるわけだけれど。

  ただ、16GB程度では容量不足に感じられるシチュエーションがあることも確か。 メモリ圧縮が頻繁に行なわれるほどそれにCPUパワーが割かれ、全体的な処理速度は遅くなりやすいからだ。

 そんなわけで、現状今回試したゲーム、画像・動画処理あたりまでがPCのメイン用途になっているのあれば、64GBが必要になるシーンは多くない。

  総合的に見ると、32GB以上の容量でデュアルチャネル、かつできるだけ高クロックなメモリにするのが賢い選択ではないだろうか (高クロックのメモリは相性問題も出やすいので注意する必要はある)。

Adblock test (Why?)


からの記事と詳細 ( 【アップグレード後の性能が知りたい!】 メモリが買い時の今こそ ... - PC Watch )
https://ift.tt/p1frYXu

No comments:

Post a Comment