8月20日、BlackMagic Designのビデオ編集ツール「DaVinci Resolve」および「DaVinci Resolve Studio」が17.3にアップデートされた。これまでも月に1回ぐらいのペースでマイナーなアップデートが行われてきたが、今回は17の次の桁が上がるという、やや大きめのアップデートである。
DaVinci Resolveは、M1 Macが出たばかりの2020年12月に、まだβだったバージョン17を使ってスピードテストを行った。そこから9カ月、中身も相当変わったはずだ。
なんといっても今回の目玉は、Apple M1チップに対応した新エンジンを搭載し、最大で3倍速いという点。エフェクトの追加や8K対応、AVC Intraデコードなどのポイントもあるが、使わない人には恩恵がない。一方、スピードだけはあらゆるユーザーが恩恵を受ける。気軽に3倍とか言ってくれちゃっているが、にわかには信じられないので本当に3倍速いのか、テストしてみることにした。
今回のテストで使用するマシンは、前回同様MacBook Air M1の8コア、GPU8コア、16GBメモリ、512GB SSDという構成で、もちろん内蔵バッテリー駆動である。使用する映像ソースは、iPhone 12 miniで撮影した4K/60p/H.265の動画だ。筆者が定期的に作っている「コデラ家のハタケ」という動画コンテンツがあるのだが、同じコンテンツ製作のプロセスを、バージョンの新旧で比較しながら追いかけてみることにした。
おおむね向上がみえる再生パフォーマンス
今回比較するバージョンは、「旧」が17.2.2 BUILD 4、「新」が17.3 BUILD 14である。見た目で大きく変わったところはなく、About画面を表示させてバージョンの違いが確認できる程度だ。
今回のコンテンツでは、いったんカットで編集したものに対し、「調整トラック」を使って全体に一律のカラーグレーディングをかけている。また音声はノイズリダクションをかけたあと、SoftClipで音圧を稼いでいる。この下地に対して、今回はなるべく高負荷になるようエフェクトを使用。最終的なコンテンツは、以下のリンクで確認していただきたい。
オープニングの口上の後にタイトルとなるが、実はドロップシャドウの色味を変えるため、タイトルは2つのトラックを重ねている。それぞれにモーションブラーがかかっているので、簡単そうに見えて負荷が高い部分である。同時に音楽も加えている。
旧バージョンではコマ落ちなしには再生できず、フレームレートを見ると18.3となっている。音声トラックはリアルタイム再生しているが、映像はカクカクだ。
一方新バージョンで同じ場所を再生させてみると、フレームレートは27.7となっており、この時点ですでにパフォーマンスとしては1.5倍の違いがある。何度も同じ場所を再生していると、レンダリングキャッシュができて高速化していくので、時間がたてばどちらもリアルタイム再生できるようになる。それでも初見でそこそこ早いと仕上がりイメージを早く確認できるので助かるのだ。
なお、普段「コデラ家のハタケ」は4K/30p/H.264で撮影しているので、編集時のレスポンスは旧バージョンでも十分な速度で確認できている。
もう少し高負荷のシーンを作ってみよう。バージョン17で追加されたFusionエフェクトの「DVE」というのが負荷が高いという話を聞いたので、これを使って2画面のPinP(Picture in Picture)を作ってみた。
旧バージョンでは、再生フレームレートが4.5と劇遅である。アクティビティーモニターで見てみると、CPU負荷は142.4%、GPU負荷は82.8%。CPUの方を酷使するエフェクトのようだ。
一方新バージョンの再生フレームレートは8。リアルタイムには程遠いが、旧バージョンより1.7倍早い。CPU負荷も100%程度と下がっており、効率化されて居るのが分かる。
レンダリングは実際速くなったのか
ここまでは負荷の高いシーンのみリアルタイムレンダリングの速度を見てきたが、全体のレンダリング時間も見ていこう。DaVinci Resolveでどのような作業をするにしても、使う全ての人に恩恵があるのはこの部分だ。
今回はタイムライン上の設定は4K/60p、およそ5分30秒のコンテンツだが、レンダリングはYouTubeへのアップロードを前提に、1080/60p/H.264へリサイズしながら書き出してみる。
旧バージョンではカラーグレーディングのみで他にエフェクトがない部分はフレームレート76fpsぐらいで進行するが、DVE(Digital Video Effect)エフェクトの部分になると3.5fpsぐらいまで速度低下する。その部分はCPU負荷が52.3%と、リアルタイム再生に比べてあまりCPUを使わなくなっている。
一方新バージョンでは、エフェクトなし部分は102fps程度までスピードアップしている。旧バージョンと比較すると1.37倍である。
DVEエフェクト部分になると、フレームレートは4とあまり変わらないが、CPUの負荷が45.6%とさらに減っている。負荷で言えば約87%減だが、ややスピードアップということになる。
トータルのレンダリング時間は、旧バージョンが10分54秒、新バージョンが9分14秒となった。比率でいえば1.18倍で、リアルタイムレンダリングの比率に近い数値といえる。今回の結果ではスピードが3倍とはいえないが、CPUとGPUの負荷がかなり下がっているように見える。
そこで新バージョンのレンダリング時におけるCPUとGPUの履歴を追ってみた。
M1チップは、4つが常時使用される高効率コアで、4つが特に負荷が高い時に使われる高パフォーマンスコアになっている。この使い分けも気になるところだ。同じコンテンツを、最初は4K解像度のままで書き出し、次にHD解像度にダウンコンバートしながら書き出してみた。
リサイズなし、4Kそのままのレンダリングにおいて、GPU負荷が高くなっている部分がオープニングタイトル部と、DVEエフェクト部である。エフェクトがある部分だけGPUがフルパワーで回っており、エフェクトが少ない部分は半分程度で回っている。コンテンツ後半に30倍速の早回し処理があるが、その部分はGPUをあまり使っておらず、CPUメインの処理となっている。
一方HDダウンコンバートしながらのレンダリングでは、全体にわたってGPUがほぼほぼフルパワーで回っている。違いは解像度変換だけなので、解像度変換にかなりのGPUパワーが取られる。
またDVEエフェクトは、CPUのうち効率性の4コアでほぼほぼ回しており、パフォーマンス側の4コアをほとんど使っていない。負荷が高いエフェクトなのに、これは惜しい。
後半でGPUがグッと下がっているところは、30倍速早回し部分だ。ダウンコンバート処理も含め、この部分はGPUを使わず、CPUでの処理ということだろう。
この結果から、動画編集の特定の処理はそれを投げる先が決まっているのが分かる。常時うまく負荷分散できれば時間短縮できるが、処理を投げる先が1カ所に集中してしまう場合は、それほどパフォーマンスが上がらない。
とはいえ、この処理はどこを使うというのをユーザーが自身が把握しつつコンテンツを作っていくのは、本末転倒だ。クリエイターはそんなことは気にせず、やりたいことをやりたいようにやるだけである。
ユーザーがどのような処理を好んで行うかは千差万別で、開発側としてもなかなか予測ができないところ。処理によっては、空いているリソースがまだまだ存在するのも事実だ。
将来的には、空いているコアやユニットにバランスよくタスクを投げられるよう、1つのエフェクトであっても複数のエンジンを併用したり、あるいはその都度空き状況を見ながらエンジンを切り替えていく、動的な最適化処理になっていくのかもしれない。
バージョン17.3の「3倍速い」は、直接的なパフォーマンスとしては観測できなかったが、エンジンの基礎体力としては3倍速になる可能性は確認できたように思う。あとはどのように負荷をマネジメントしていくかで、新エンジンが本当に3倍速いと感じられるかが決まるだろう。
関連記事
2021-08-30 23:00:00Z
https://news.google.com/__i/rss/rd/articles/CBMiPGh0dHBzOi8vd3d3Lml0bWVkaWEuY28uanAvbmV3cy9hcnRpY2xlcy8yMTA4LzMxL25ld3MwNDMuaHRtbNIBAA?oc=5
No comments:
Post a Comment