見出し画像

RenderMan XPU™ ピクサーの新しいハイブリッドCPU+GPUレンダリング技術 Part2

はじめに 

 YouTubeに説明動画をUPしておりますので、併せてご覧ください。 

スライド2

----------------------------------------------------------------------

実際の画面によるXPUの使用方法

スライド9

前回に引き続いてRenderMan XPU™について解説していきます。

まずRenderManが搭載されている画面を元に、使用方法を簡単に説明します。

↓クリックすると該当箇所から再生されます↓

ビューポートレンダリングでリアルタイムに比較

↓クリックすると該当箇所から再生されます↓

RenderMan XPU™の検証

それでは、実際にRenderMan XPU™の検証を行ってみましょう。
まずはシンプルティーポットを複数並べたシーンを使って
RISとXPUの比較、CPU・GPUの使用率、およびマテリアルが異なるとどのようにスピードに影響があるのかを調べてみました。

画像4

マット、金属、透過屈折率を持つマテリアルを与えた3つのシーンのレンダリング時間を比較しました。
ティーポット15個を並べてPxrDomeLightPxrRectLightでライティングを行い、マテリアルはプリセットブラウザーからそれぞれ異なるPxrSurfaceを与えています。レンダリングの設定はインテグレーターをPxrPathTracerとし、サンプリング値などはデフォルトの設定を変更せずにそのまま使用しました。

画像16

今回の検証で使用したCPUとGPUは以下の通りです。

マシンA   CPU :  Intel Core i9 11900F
                GPU :  NVIDIA RTX A5000
マシンB   CPU :  AMD Ryzen9 5900X
                GPU :  NVIDIA RTX 3060

Mat Material

画像6

まずマットマテリアルを割り当てたシーンの検証結果です。

レンダリング時間は以下の通りです。
(RISの場合はItのインスペクターにレンダリング時間が表示されますが、XPUの場合は表示されないためストップウオッチで計測した値となります)
● RIS
Intel Core i9 11900F 6m5s
AMD Ryzen9 5900X 4m49s
● XPU(GPU)
NVIDIA RTX A5000 42s
NVIDIA RTX 3060 1m16s
● XPU(GPU+CPU)
NVIDIA RTX A5000 + Intel Core i9 11900F 43s
NVIDIA RTX 3060 + AMD Ryzen9 5900X 1m8s

シンプルなBxDRマテリアルを使用したシーンなのでレンダリング負荷は決して高いわけではありませんが、RISとXPUではレンダリングスピードに関してかなりの差があることがわかります。

Metal Mateliar

画像7

続いて金属マテリアルを割り当てたシーンの検証結果です。

マテリアルを変更した以外はまったく同じ設定です。
レンダリング時間は以下の通りです。
● RIS
Intel Core i9 11900F 12m48s
AMD Ryzen9 5900X 6m9s
● XPU(GPU)
NVIDIA RTX A5000 1m30s
NVIDIA RTX 3060 2m11s
● XPU(GPU+CPU)
NVIDIA RTX A5000 + Intel Core i9 11900F 1m30s
NVIDIA RTX 3060 + AMD Ryzen9 5900X 2m4s

金属の場合は鏡面反射が質感の多くを占め計算負荷が上がるため、レンダリング時間は2倍近くかかっています。

Glass Material

画像8

最後に透過屈折を伴うマテリアルを割り当てたシーンの検証結果です。

こちらも同じくマテリアルを変更した以外はまったく同じ設定です。
レンダリング時間は以下の通りです。
● RIS
Intel Core i9 11900F 36m30s
AMD Ryzen5900X 19m4s
● XPU(GPU)
NVIDIA RTX A5000 1m12s
NVIDIA RTX 3060 2m42s
● XPU(GPU+CPU)
NVIDIA RTX A5000 + Intel Core i9 11900F 1m25s
NVIDIA RTX 3060 + AMD Ryzen5900X 2m34s

スライド16

ガラスの場合は鏡面反射だけではなく屈折計算も同時に行う必要があるため、レンダリング時間はさらに伸びる傾向にあるのが一般的ですが、興味深いことに、RISを使った場合のレンダリング時間の長さに比べて、XPUを使った場合は金属の場合と比較してそれほど長くなっていないところが興味深い点です。

RenderMan XPU™の検証結果

画像10

画像11

画像12

以上の結果をグラフにしてみました。
これらから分かることは、これまでのRISよりもXPUの方が明らかにレンダリングが速いということです。
単純な比較でXPUはRISに対し8.5倍~30倍もの速度差を叩き出しています。
シンプルな質感に対して、RISでは金属質感で約2倍、ガラスの質感になると4~6倍と伸びていますが、XPUの場合は金属の場合こそ2倍になっていますが、ガラスの場合は1.7~2倍程度で収まっている点特筆できます。

また興味深いことに、GPUとCPU両方を使ってレンダリングした場合、GPUとCPUの性能差が大きい場合は逆に遅くなる場合が見られました。
RTX A5000のような高性能のGPUを使う場合はCPUの支援が足かせになることもあるということです。逆に RTX3060のようなミドルレベルのGPUの場合は、 Ryzen9 5900Xというマルチコア性能も合わさってレンダリング時間が短くなり、XPUのメリットが発揮されました。

CPUおよびGPU使用率は以下の通りです。
RIS Inten Core i9 11900F

画像11

XPU NVIDIA RTX A5000

画像12

XPU NVIDIA RTX A5000 + Intel Core i9 11900F

画像13

RIS AMD Ryzen9 5900X

画像14

XPU NVIDIA  RTX 3060

画像15

複数のティーポット+被写界深度で比較

↓クリックすると該当箇所から再生されます↓

インタラクティブ反応比較

↓クリックすると該当箇所から再生されます↓

---------------------------------------------------------------------

今回のパートは以上となります。
次回のPart3も是非ご覧ください。

ご閲覧ありがとうございました。

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