見出し画像

メモリ速度とメモリチャネルとPhotoshop Lightroom Classic

最近Adobe Photoshop Lightroom Classic関係というかPC関係のエントリーが多いのですが、今回は更に突っ込んだ内容です。


PCを構成するにあたりメモリの量は重要視されますが、メモリチャネルに関しては特に問題とされず、OverClock目的でもない限りメモリの動作周波数は大概スキップします。
これは当然の話で、メモリの量は換言すれば〝スロットを埋める事〟なので必然デュアルチャネル化される場合が多いし、動作周波数は原則CPUで決まってしまうので特に言及する必要が無いからなのですが、Adobe Photoshop Lightroom Classicの現像作業で高速な処理速度を欲する場合、この二つは重要な要素になります。

今回は自分のメインPCを実験台に、メモリチャネルとメモリ速度がどれだけ現像速度を左右するのか検証します。


メモリには〝メモリタイミング〟といわれる数値もあるのですが、これに関しては未検証。
通常、異なるメモリタイミングのモジュールを混在させても許容されるので、違いは出るには出ると思うのですが動作周波数やチャネル数に比べ影響は少ないのでは?と考えられるのと、検証が少々面倒くさいので、これは考えない事にします。


自前メインPCのスペックですが、一昔前のものなのでドヤれるようなもんじゃなくあれだし、今回はメモリのお話なので関わりのあるところだけで。

CPU AMD RYZEN 3900X (定格 : 3.8 GHz / Turbo Speed : 4.6 GHz)
メモリ 96GB 3200GHz

メモリ搭載量と速度、スロット空きが確認出来る


今回はこれをベースに
32GB x1 =32GB シングル
16GB x2 =32GB デュアル
という構成でシングルとデュアルでの違いと、動作周波数(メモリ速度)での違いを検証します。

Lightroom Classicのバージョンは11.2
使用するデータは6100万画素の、PC / Lightroom Classic関連のエントリーで使用していると同じデータで、RAWデータと同じ場所にシャープネスを付加した圧縮70%のJPEGを100枚出力します。
Adobe Photoshop Lightroom Classicは出力時間が安定しないので、3~4回同じデータを現像し、念の為計測の度にAdobe Photoshop Lightroom Classicは再起動、場合によってはPC自体も再起動、最も速いものを結果とします。
ちなみに、時間の計算は出力されたファイルの作成日時から算出しています。 最初と最後を引き算するだけ。

他に良い方法があったら教えて欲しい。。。


最初は現在のシステムの確認をします。

1分15秒

以前、メモリが64GBだった時には3分だったんですが、96GBに増設したら最長でも1分30秒とやたら速くなった。
Adobe Photoshop Lightroom Classicは処理するデータの情報量で現像時間が変わるので1枚1.2秒とかの場合もありますが、どうしてしまったのか。

6100万画素100枚出力時。 出力では物理メモリの消費は大人しいが仮想メモリの量は凄い…


参考までに2400万画素だと1分です。
通常は画素数が倍になると処理時間も倍になり、逆に画素数が半分なら処理時間も半分になるので、2400万画素なら半分以下になる…と思いきや、そこまでは速くなりません。

こうなるとファイルサイズとメモリ、CPUキャッシュなんかの最適化問題だと考えられるので、画素数と比例する訳ではなくなっているのだと思います。 この場合、6100万画素との相性が偶々良かったのでは。
そう考えると、以前3分掛かっていた説明になります。


次はこの状態からメモリ速度を落とします。
AMD系はさておき、Intel系のシステムでは12世代からDDR5-4800MHz、第11世代から3200MHz、2022年4月現在店頭にギリ並んでいると思われる10世代などはちょっと遅い2933MHzだったり、その前の第9世代は2666MHzなのですが、多少の違いだとAdobe Photoshop Lightroom Classic定番である出力の揺らぎかどうか判別出来ないので、今回は第6世代の2133MHzで試してみましょう。


2133MHzの結果は…

1分45秒

最長でも1分50秒と2分になることはないものの、3200MHzに比べ2133MHzは30秒程遅くなると考えて間違いないです。
その振る舞いはCPUを確認すれば一目瞭然で、負荷が一定しておらず波がありました。 CPUの要求するデータを十分に送り込むことが出来ていない、という事ですね。

実は、キャプチャもしたのですが、データ収集後システムがフリーズ・強制再起動しましてキャプチャデータが消えました。
再びベンチするのは面倒くさいので、ご容赦頂きたい。
落ちたのは規格外の動作周波数でメモリ電圧が1.35vに上昇していたのが問題だったのかも知れない。
2666MHzであれば問題なかった可能性はありますね。 その場合、もっと差は縮まったでしょう。


いずれにしても、メモリの動作周波数で現像時間が変わるのは間違いなく、Adobe Photoshop Lightroom Classicには高い周波数で動作するメモリ、、、というか、定格で良いのですが、CPUが要求するメモリ周波数が高い方が処理速度は速くなります。

いちおう、メモリにもOverClockという保証範囲外行為というか、規格外製品を選択する行為があるのですが、自己責任ですけど成功すれば効果はあるはずです。
定格で使うことも出来るし、単純な高速化という意味ではビデオカードより効果があり、予算に余裕があるなら悪くない選択肢なのでマザーボードメーカーやメモリモジュールメーカーが出しているQVLリストを参照すると良いかも知れません。

それと、Core i3とCore i7、即ち上の方と下の方ではCPU世代は同じでもメモリの動作周波数が異なる場合があり、通常下位クラスは上位クラスと同等の動作周波数でも駆動可能です(要設定)。
この場合、行為自体はOverClockですが、メモリは通常品で価格差は殆どない場合が多く、CPUのアップグレードも容易になるので購入時に上のクラスと同じ動作周波数を選んでおくのが良いですね。 既成PCの場合は予め高速なタイプが使用されている場合もあります。



お次はシングルとデュアルのチャンネル数比較です。
クワッドやトリプルのシステムは現在所有していないので寂しい比較になりますが、まずは16GB x2のデュアルチャネルです。

仮想メモリの量が判りやすく減った…

16GB x2の時間は
1分30秒

一番遅くて1分38秒だったので安定はしていますが、元の構成より15秒程遅いです。
メモリ自体にはかなり余裕があるはずですが……


実はこれ、裏で使われているんですね。
タスクマネージャーからリソースモニターを開くと詳細が判ります。
※画像は別の時のもの

96GB中、実際に使われているのは19GB程度で45GB以上が待機、真の空き容量は33GB程度

〝使用中(緑)〟が今タスクマネージャーで表示されている数値で、実際に使われているメモリは確かに少ないのですが、メモリの多くは〝スタンバイ(青)〟として予約されており直ぐに使える状態になっているので、真の空き容量(水色)は33GBくらい。
ストレージから先読みして蓄えているので、その分高速化する、と考えて良いでしょう。 無論、ストレージも相応に高速でなければデータの先読みは効率が悪くなりますし、CPUの処理能力が低ければ向上は少ないはずです。

このような仕組みなので16GBと32GBでは明確な違いがあり、32GBと64GBでも明確な違いがあるのですが、ここはコストとの兼ね合いです。
現時点(DDR4環境)では主観として16GB x2の32GBがコストと性能のバランスが良いと判断しているので普通の人には32GBを推奨しますが、予算があるならそれ以上の方が良い、という。
まぁ、誰も彼もが自分と同じ〝1枚2秒以下じゃないとサクサクとは言えない〟と考えている訳ではないですし。
とはいえ、64GBと96GBの処理速度の差は謎過ぎますけど。


すっかり脱線しましたが、チャネル数はこの処理時間(1分30秒)を基本として考えましょう。

次は32GB x1のシングルチャネルです。

現在、32GBを1本だけで使う人はまず存在しないと思う…

32GB x1の処理時間の方は

2分11秒

デュアルに比べ40秒遅くなっていて、処理時間の落ち込みは動作周波数より顕著に表れています。
チャンネル数が少ないとデータ転送が遅くなるので処理も遅くなるという事ですね。


以前クワッドのシステム( Core i7-6800K )を使用していた時にテストしたところ、シングルからデュアルにしても倍にならないようにデュアルからクアッドにしても倍はならなかったのですが、25-50%くらいは向上しました。
当時は4200万画素を2秒で処理出来ていて、先日最適化したDELL VOSTROのCore i7-9700よりCPUの動作周波数や物理コア数、メモリクロックでは劣っていても、メモリチャネルは倍で論理コアは多くストレージも高速分散していたので実性能は上に感じました(同じデータでは無いので〝感じ〟です)。

メインストリーム(一般向け)はデュアルまでが一般的で、現在はCPUのコア数も昔より多くなっているのでメインストリーム以上のシステム(Intel Xシリーズ / AMD RYZEN Threadripperシリーズ )はコスト面で真にExtremeな人向けではあるのですが、メモリ帯域の広さと(一般向けも追いついてきたとはいえ)強力なストレージが組めるのでPhotoshop Lightroom ClassicでのRAW現像大量出力/大量プレビュー作成で有利なのは間違いないです。


実はモジュール違いで差が出るかも?と思って試してみたんですが、謳われている動作周波数が同じなら特筆するような違いが無かったので省いています。
相性問題が出やすいOverClock品や初物(今ならDDR5)は判りませんが、枯れているDDR4だと定格or定格以下で使う以上はモジュールメーカーによって大きな違いは無いんじゃないかと。


こんな感じでメモリチャンネルとメモリ速度、この二つはAdobe Photoshop Lightroom Classicの処理速度に影響して案外重要なんですが、先述したようにCPUの要求する定格の動作周波数であれば実質問題無いので〝二本差しのデュアルチャネル〟という事だけ意識していたら問題ないと思います。
勿論、より高い性能を目指すならメモリのOverClockを視野に入れておくのも有りです(自己責任だよぉ)。

その他のソフトウェアで効果的かは判りません。
既成PCのパフォーマンスを重視したモデルはデュアル構成が一般的ですが、ビジネス向けや家庭向け(?)はシングル構成が多いので、コストの割に性能の向上が少ないのでしょう。 いや、単にコストだけの問題かもw


ちなみに、DELL VOSTROでは元々の8GBに16GBを追加し24GBとしましたが、システム的には16GBまではデュアルとして、それ以降の8GBはシングルとして動作しますので無駄な部分はありません (FLEX Mode)。
AMDの場合も同様の動作をします。

動作周波数が異なる場合は低い方に引っ張られます。
手持ちに周波数の低いものがあった場合使いたくなると思うのですが、現像処理では確実にパフォーマンスに影響する反面、巨大なファイルを扱うには〝質より量〟なので、そこは個々人の考え方/使い方次第。
自分なら、8GB x2 / 3200MHzで動作している環境に8GB / 2666MHzは追加しませんが、8GB x1 3200MHz ならクロックが遅くなってもメモリ倍増のデュアルチャネル化の方が良いと思うので追加すると思います。

この記事が気に入ったらサポートをしてみませんか?