リアルタイムレンダリングやプリレンダリングにおいて、「メモリ」や「SSD」の性能は、処理にどのような影響を与えるのか。
今回はUnreal Engineの検証をIndie-us Games 中村匡彦氏
に、After Effectsの検証を映像講師である山下大輔氏の両名にご協力いただき、人気のメモリ/SSDブランドであるCrucialの製品を使って検証を実施した。
それぞれのレンダリングにおけるメモリとSSDの影響をチェックするとともに、Crucial製品の実力や使い勝手にも注目してもらいたい。
▼INDEX
<1>Indie-us Games UEの開発環境
<2>5項目に及ぶUE検証
<3>AE、Premiere利用者が気にするべきストレージ環境とは?
<4>AE内のC4Dレンダラーによるレンダリング生成時間検証
<5>まとめ
TEXT_近藤寿成(スプール)
<1>Indie-us Games 中村匡彦氏が選ぶ、Unreal Engineの開発環境
検証をお願いした1人目は、Indie-us Games 代表取締役でクリエイターも務める中村匡彦氏だ。Indie-us Gamesはゲームやアニメの開発をメインとするUnreal Engine専門のソリューション集団で、最近では人気アニメの映画作品『ガールズ&パンツァー 最終章』などにも参加。これに加えて、建築や自動車といった異業種とのコラボレーション、さらにはUnreal Engine関連の講演やセミナー、 コンサルタントなどにも取り組んでいる。
-
Indie-us Games
Unreal Engineを専門に取り扱うプロフェッショナルの集団。さまざまな企業とともにUnreal Engineを使った幅広いコンテンツを制作するほか、教育機関と連携した取り組みにも携わる。
https://www.indie-us-games.co.jp/
Unreal Engineを使ってさまざまな案件を手掛けるIndie-us Gamesだが、中村氏によれば、案件によってはBlenderやPhotoshop、Substance Painter、ZBurshなどでコンテンツを制作することもあるとのこと。そのため、業務で利用するPCの選定においては、CPUやGPUをハイスペックにするのはもちろんのこと、メモリやストレージの性能にもかなり気を配っているそうだ。
例えば、複数のDCCツールを同時に起動させても支障がないようにするため、メモリは「最低でも32GB」を搭載。ただし、最近は32GBでも足りなくなるケースもあるようで、「そろそろ64GBも検討範囲になってきた」と中村氏は苦笑する。
ストレージも「1TBのSSD」が最低ライン。なぜなら、Unreal Engineは全体的にボリュームが大きく、1つのエンジンを入れるだけでも「40~50GB」、さらに1プロジェクトは「100GBから、多いものでは300GB以上になるケースもある」からだ。さらに、複数のプロジェクトを管理することになれば「1TBでも足りなくなることがある。それだけに、最低でも1TBを確保し、全体的な高速化に努めている」と中村氏は説明する。
ちなみに、ボリュームが300GBを超えるオープンワールドのゲーム案件などでは、例えばそのプロジェクトのライティングビルドを実行すると、メモリにも非常に大きな負荷がかかる。このような場合、メモリが32GBではどうしてもスペック不足が否めないため、Indie-us Games ではCPUに32コアの「Ryzen Threadripper 3970Xプロセッサー」を採用しつつ、メモリも128GBを搭載する超高性能な専用マシンを用意しているそうだ。
このような環境や利用状況を踏まえつつ、中村氏にはUnreal Engineでの利用を想定し、Crucialのハイグレード製品を使ったテストを依頼。リアルタイムレンダリングにおいて、メモリとストレージのスペック差が処理にどのような影響を与えるのかを検証してもらった。
■メモリやストレージなどの概要と検証ハードウェアについて
以前の記事でも紹介したが、検証の前にパーツやメーカー、検証ハードウェアについて簡単に触れておこう。
「メモリ」はPCで利用するデータを一時的に保存するパーツ、「SSD」はデータ保存に利用されるHDDと同じストレージの一種で、HDDよりもデータ転送速度や耐衝撃性に優れたパーツである。また「Crucial」は、1978年に設立した世界最大級のメモリメーカーである「Micron Technology」が展開するコンシューマ向けブランドとなる。
今回、中村氏が検証で使用した製品は、Crucialのメモリ「Ballistix 32GB Kit (2 x 16GB) DDR4-3200 Desktop Gaming Memory」(以下Ballistix 32GB)と、SSD「Crucial P5 1TB PCIe M.2 2280SS SSD」(以下P5 1TB)。価格はBallistix 32GBが約2万5000円、P5 1TBが約1万9000円となる。
メモリのBallistix 32GBは、アルマイト製ヒートスプレッダーを装備した上位モデルで、ゲーミング向けにオーバークロックにも対応。DDR4-3200は、BallistixシリーズとしてはDDR4-3600に次ぐ性能となる。
SSDのP5シリーズは、M.2のNVMe(PCIe 3.0 x4)接続に対応。シリーズとしては1TBの他に250GB、500GB、2TBが選べる。P5シリーズはCrucialブランドで最上位SSDだったが、さらに後継としてP5 Plusシリーズが発売された。P5 Plusシリーズは、マイクロンの最先端NANDを搭載、M.2のNVMe(PCIe 4.0 x4)接続に対応し、優れたパフォーマンスに定評がある。容量は500GB、1TB 、2TBから選択可能。
(※実売価格は8月25日現在のものです)
▲Crucialのメモリ「Crucial Ballistix 32GB Kit (2 x 16GB) DDR4-3200 Desktop Gaming Memory」
▲CrucialのSSD「Crucial P5 NVMe PCIe SSD 1TB」
さらに、検証では中村氏の現行機をベースに、普段利用しているメモリとストレージの構成を「環境1」、CrucialのメモリとSSDに換装した構成を「環境2」とし、その差を比較した。
環境1のメモリは、容量こそ環境2のBallistix 32GBと同じ32GBだが、クロック数はDDR4-2666と2ランク下の製品となる。また、環境1のストレージ「Crucial MX300 SSD」は2016年に発売されたSATA接続のCrucial製SSDとなっており、データ転送速度はHDDよりも圧倒的に高速だが、NVMe接続のP5 1TBよりは大きく劣っている。
中村氏の現行機
- CPU
- インテル Core i7-8700K プロセッサー(6コア / 12スレッド / 3.7GHz /ターボブースト利用時4.7GHz / キャッシュ12MB)
- GPU
- NVIDIA GeForce RTX 2080 SUPER
- メモリ
- 32GB(16GB×2枚、DDR4-2666)
- ストレージ
- Crucial MX300 SSD(1TB、SATA接続)+8TB HDD
- OS
- Windows 10 Pro
<2>Unreal Engineを用いて、レベル起動時間、ライティングビルド、シミュレーションなど5項目で検証!
中村氏の検証では、Unreal Engine の開発メーカーであるEpic Gamesが提供しているサンプルプロジェクトなどを使用し、5つの検証を行った。
■検証1:UE5「古代の谷(Valley of the Ancient)」でのレベル起動速度とゲームプレイ時の負荷
1つ目は、Unreal Engine 5用の「古代の谷(Valley of the Ancient)」を使って、レベル起動速度とゲームプレイ実行時の負荷についての2段階を検証した。レベル起動時間を計測したところ、●環境1は1分45秒40、●環境2は1分08秒41となった。約37秒の差が出たことに加えて、環境1では処理中にフレームレートが上がり過ぎたり画面がカク付いたりしたこともあったのに対して、環境2ではそれらがほとんど見られなかったことから、中村氏は「メモリやSSDへの読み込み性能が上がったことで、負荷が抑えられたのではないか」と考察する。
環境1:1分45秒40
環境2:1分08秒41
●環境1
●環境2
●環境1と●環境2を見比べると、序盤ではあまり差がないが、巨大なゴーレムが出現する中盤以降からは、動き出しのタイミング(=メモリへ読み込みが一気に発生する)で大きな差が出ていることがわかる。
■検証2~3:UE4「Soul City」を利用したライティングビルドと保存時間
2つ目は、Unreal Engine 4用の「Soul City」を利用してライティングビルドにかかる時間を調べたところ、環境1は5分36秒31、環境2は5分03秒33と約33秒の差が付いた。中村氏いわく、ライティングビルドはCPUに大きな負荷がかかる処理で「CPUのスペックをフルに使用するため、メモリの性能が影響しやすい」とのこと。そういった意味では、メモリの性能差が結果にしっかり反映された形となった。
3つ目は、2つ目のライティングビルドの結果をストレージに保存する時間を計測。演算結果がテクスチャにすべて書き込まれるため「約400MBのボリュームになった」(中村氏)そうだが、結果としては●環境1が7秒87、●環境2が7秒68と誤差レベルにとどまった。
【ライティングビルドにかかる時間】
●環境1:5分36秒31
●環境2:5分03秒33
【保存時間】
●環境1:7秒87
●環境2:7秒68
■検証4:UE4「Infiltrator」起動時間
4つ目は、UE4用の「Infiltrator」を使って起動時間を比較したところ、●環境1は1分7秒63、●環境2は33秒63と半分近くにまで高速化した。Infiltratorは情報量がかなり多く起動にとても時間のかかるデモとなるため、「SSDの性能差が、ここまでの差につながった」と中村氏は分析。さらに、「プロジェクトのスケールが大きくなればなるほど、より差が出るだろう」と付け加えた。
●環境1:1分7秒63
●環境2:33秒63
■検証5 Fluid Simulation(流体シミュレーション)ツールでの処理テスト
最後は、Unreal Engine のFluid Simulation(流体シミュレーション)ツールの処理で比較したところ、FPSの数値は●環境1よりも●環境2の方が平均で1~2高いことがわかった。こちらもCPUをフルに使って計算する部分が多いことから、「メモリの差がFPSの数値に出ている」と中村氏は分析した。
●環境1(換装前)
●環境2(換装後)
FPSを比べると、●環境1(上)は31~32を推移するのに対して、●環境2(下)は常に33以上をキープしていることがわかる。
<3>AE、Premiere利用者が気にするべきストレージ環境とは?
■Premiere Proは時間軸を重視、After Effectsは合成結果を重視
次に、検証をお願いした2人目は、Adobe Premiere ProやAfter Effectsなどの映像講師を務めるかたわら、書籍の執筆などにも精力的に取り組んでいる山下大輔氏。現在の仕事を始める前は、映像系の編集機器などのサポート業務を10年以上も手掛けており、生粋のクリエイターとはまた違った目線も兼ね備える異色のスペシャリストである。
山下氏によれば、編集ソフトと合成ソフトでは「処理において根本的な違いがある」そうだ。例えば、Premiere Proなどの編集ソフトは時間軸の確認を優先するため、処理中でも「再生が止まらない」仕様になっている。そのため、処理が重いところは「フレームを飛ばして再生される(=画がカク付く)」(山下氏)。
一方で、After Effectsなどの合成ソフトは、合成結果を確認するためにレイヤーごとに処理が行われ、フレームの描画が優先される。そのため、フレームが描画されるまでに時間のかかると「再生がスムーズに行われない(=再生がたびたび止まる)」仕様になっている。このような違いから、合成ソフトの場合は「ディスクキャッシュ機能を使うと読み書きが安定する」ため、山下氏は「高速な外部ストレージがあるととても有効だ」と解説する。
これに加えて、After Effectsでは「ディスクキャッシュはシステムドライブとは別のドライブに設定する」ことをメーカーのAdobeも推奨しており、山下氏も「その方が処理が速くなる」と補足する。
さらに山下氏は、より快適かつ安定した環境を得たいのであればストレージは
●アプリケーションを格納するシステムドライブ
●素材を格納するドライブ
●キャッシュを格納するドライブ
の3つに分けるのが理想的だとアドバイスするとともに、それぞれのドライブには「データ転送速度が高速なSSDを選ぶべき」と提案した。
このような仕組みなどを踏まえ、山下氏にはプリレンダリングに外付けSSDを組み合わせたテストを依頼。活用法を含めたSSDの有効性を検証してもらった。
■検証ハードウェアについて
山下氏が検証で使用した製品は、CrucialのSSD「Crucial MX500 2TB」(以下MX500)。SATA接続に対応する2.5インチの内蔵型SSDで、データ転送速度の理論値は読み込みが560MB/秒、書き込みが510MB/秒となる。価格は約2万7000円。シリーズとしては2TBの他に250GB、500GB、1TBが選べる。
また、検証では山下氏が普段使っているMacBook Pro 16インチ(2019)をベースに、ディスクキャッシュの保存先として3つのストレージを用意。1つ目はMacBook Pro 16インチ(2019)の内蔵ストレージ(以下、MacBook)、2つ目はMX500、3つ目は他社製のNVMe接続M.2 SSDとするとともに、MX500とM.2 SSDはエンクロージャーを使用してUSBでMacBookに接続し、外付けストレージとして検証した。ちなみに、ストレージ用のベンチマークソフト「Blackmagic Disk Speed Test」を使って一般的なデータ転送の実性能を比較したところ、MacBookは2.5GB/秒、MX500は420MB/秒、M.2 SSDは800MB/秒という結果だった。
(※実売価格は8月25日現在のものです)
▲CrucialのSSD「Crucial P5 1000GB PCIe M.2 2280SS SSD」
<4>After Effects 内でのCinema 4Dレンダラーによるレンダリング生成時間
山下氏の検証では、まずIllustrator のデザインデータ(フレームサイズ:1920×1080、フレームレート:12fps、デュレーション:2s)を用意した。次に、このデータに対してAfter Effects 内でCinema 4Dレンダラーを使用する(レイヤー数:65、外部テクスチャ使用)際に、ディスクキャッシュの保存先として「MacBook」「MX500」「M.2 SSD」の3つを設定。それぞれの設定におけるレンダリング生成時間を計測し、1フレームの処理にかかる時間を比較した。
検証の結果、ベンチマークソフトの結果とは裏腹に、MacBookは00.597秒/f、MX500は00.603秒/f、M.2 SSDは00.600秒/fと、その差はほとんど出なかった。山下氏によれば、今回用意したデータの処理は「決して軽いものではない」そうだが、このような結果が出たということは「ディスクキャッシュ用途であれば、内蔵ではなく外付けで、しかもNVMeではなくSATA接続のSSDでも十分対応できる」と結論付けた。
●MacBook:00.597秒/f
●MX500:00.603秒/f
●M.2 SSD:00.600秒/f
また、山下氏がこの結果から指摘したもう1つのポイントは「ストレージの容量」である。というのも、より多くのディスクキャッシュを保存できるようになれば、レンダリングデータをさまざまな場面に使いまわすことも可能になるからだ。
例えば、プロジェクトのディスクキャッシュを捨てずに残しておけば、あるコンポジションを別のコンポジションのパーツとして利用したとき、レンダリング時に「ディスクキャッシュを使い回すことで処理速度を上げることができる」(山下氏)。そういった意味では、今回のMX500は2TBと大容量だから「ディスクキャッシュ用としての活用にとても向いている」と付け加えた。また、今後MX500の最大容量は2TBから4TBに増えるため、クリエイターにとってさらにお勧めの製品となるだろう。
<5>まとめ
Unreal Engineでは「総合的に効果が高い」
After EffectsならSATA接続SSDがお勧め
それぞれの検証を終え、まず中村氏が率直に感じたのは、高性能なメモリやSSDにアップグレードすることの「有効性」。Unreal EngineではメモリやSSDの性能差が、さまざまな処理に少なくない影響を及ぼすことから、Ballistix 32GB のような高性能なメモリと、P5やP5 PlusシリーズのようなNVMe接続のSSDを選ぶことは「総合的に見て効果が高い」と満足げだった。
山下氏は、After EffectsなどのAdobe製品において、SATA接続SSDを外付けでディスクキャッシュ用として活用できることを実感。After Effectsなどをメインに使っている人であれば、高性能だが高価なNVMe接続SSDを選ぶよりも、同等の金額でより大容量が選べるSATA接続SSDを選んだ方が「コスパ的にもメリットがある」とお勧めした。
さらに、外付けの大容量SSDがあれば、ディスクキャッシュ用としてだけでなく、数十GBを超えるようなファイルのスムーズな受け渡しや保存にも役立つ。そういった活用法まで踏まえれば、山下氏は「初心者でも、MX500 2TBいずれは4TBのような大容量のSATA接続SSDを導入するのは十分にあり」とアドバイスした。