スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【AE】特定のエフェクトを使うとレンダリングが遅くなる!?

  • 2016/04/03 13:46
  • Category: 映像
遅くなるかはさておき、AfterEffectsの環境設定で「複数のフレームを同時にレンダリング」という項目がありますが、これを一時的に無効にしてしまうエフェクトがあるようです。

今回の記事は少し長くなるので、概要だけ先に。
 1.このエフェクトに関しては、Adobe公式にアナウンスされています。
 2.公式にアナウンスされていないエフェクト・プラグインもありました。
   今回探せるだけ探しましたが、これ以外にもあると思われます。
 3.マシンによってどのくらい処理速度に差が出るかの実験も行いました。
 4.複数フレーム同時レンダリングが有効になるか無効になるかでスピードが変化し、後述のベンチマーク用AEPだとスピードがCore i7だと2倍程度、Xeonだと6~7倍程度に変わりました。




まずはAdobeが公式に「複数のフレームを同時にレンダリング(以下マルチフレームレンダリングと呼びます)が無効になります」とアナウンスしているエフェクトについて。

After Effects が「複数のフレームを同時にレンダリング」によるマルチプロセスを一時的に無効にする場合

公式には、標準エフェクト

 自動カラー補正
 自動コントラスト
 自動レベル補正
 パーティクルプレイグラウンド
 シャドウ・ハイライト


そしてエフェクトではありませんが、レイトレース 3D

が該当します。そして

 

CC Time BlendRE:Vision Effects Video Gogh などの一部のサードパーティ製エフェクトも「複数のフレームを同時にレンダリング」マルチプロセス機能と互換性がありません。



一部のサードパーティ製のプラグインも一部該当するようです。
 

僕の環境で上記の内容が本当か、片っ端からエフェクトをかけて検証してみました。
上記の他に標準エフェクトで当てはまるのは

 カートゥーン

で、僕の環境に入っているサードパーティプラグインだと

 CC Time Blend FX
 CC Time Blend
 Trapcode Mir
 Live2D Loader
 Primatte Keyer


が該当しました。


Mir--!!!!ウソだろ!!!?
Mir~~~~~~~~!!!!!!!







この結果に関連して、マルチフレームレンダリングがオンになっているか、オフになっているかで、どれほどパフォーマンスに差が出るかを調査しました。


今回使用するベンチマーク用AEPは、古くから使用されている「AE-Speedometer」を使用しました。
 AE-Speedometer

このaepではコンポジション内にパーティクル・プレイグラウンドが使用されているため、マルチフレームレンダリングの恩恵が得られません。
その証拠に、パーティクルプレイグラウンドを消すと明らかにレンダリング中の挙動が変化し、レンダリング時間に大きな差が生まれます。

このaepを使用したベンチマーク結果を公開してくださっている先人様の記事では、このエフェクトによるマルチフレームレンダリングがオフになっている事を知らずに結果を併記されているところが多いですが、実際はこのエフェクトを除外しなければマルチフレームレンダリングの正しい結果は得られません。

ただし、消すだけだと、
「マルチフレームレンダリングが有効になった恩恵ではなく、パーティクルプレイグラウンドを処理していない分だけ軽くなったのではないか」
という見方もできますので、以下の条件でレンダリングを行いました。


実際に複数のマシンでレンダリング時間を計測してみました。

 1.APE編集せず、そのままレンダリング
  (パーティクルプレイグラウンド有りで強制シングルフレームレンダリング)
 2.パーティクルプレイグラウンドのレイヤーを消し、シングルフレームレンダリング
 3.パーティクルプレイグラウンドのレイヤーを消し、マルチフレームレンダリング
  (WSとPCではCPUとメモリの構成が大きく違うため、マルチフレームレンダリングの設定が違う)

計測方法は以下の通りです。

 1.使用するAEのバージョンはCS6
 2.レンダリング計測は各設定で2~3回行っており、その中央値を取っています。
 3.レンダリング前にキャッシュを削除しています。

今回調査したマシン環境は以下のスペックです。

machine01.png



ベンチマーク結果はこちら。数字の単位はレンダリングにかかった時間(秒)です。

score01.png


graph02.png




ベンチマーク結果に対する考察

 今回使用した「AE-Speedometer」のコンポジション構造では、マルチフレームレンダリングを有効にする事で大きな恩恵を得られました。
 Core i7では2倍弱Xeonでは7倍弱の数値が出ました。

 このような例では、特定のエフェクトが適用されマルチフレームレンダリングが使用されない状態になると、性能を活かせない状況に陥ります。

 今回の、i7が2倍弱、Xeonが7倍弱という数値は「AE-Speedometer」のコンポジション構造に依存する数値で、ベンチマークとは別のaepで行うとまた違った数値が出ました。必ずしもこれだけの性能差が現れるわけではありません。

 今回使用したXeonは、コア数が多く、1コアあたりの周波数が低いモデルを使用したため、1コアあたりの処理能力はCore i7に劣っているようで、シングルフレームレンダリングでは、Core i7に軍配が上がりました。
 ちなみにXeonにはCore i7に近い高クロック少コア数のものもあり、Xeonを使用していてもケースバイケースであることを併記しておきます。



今回はこれ以外にもいろいろな実験を平行して行いました。
次回はまた別の内容をご紹介します?('ω')

Pagination

Trackback

Trackback URL

http://bamboosword.blog56.fc2.com/tb.php/454-79dac5c2

Comment

Post Your Comment

コメント登録フォーム
公開設定

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。