Question
DaVinci Resolveの有償版/無償版と、NVIDIAやAMD社のGPUや Apple シリコンやIntel社CPUのハードウェア エンコーダ/デコーダといったAPIと、Windows / MacといったOSの違いについて、パフォーマンスに関係する注意事項や制限はありますか?
Answer
DaVinci Resolveがより最適化して、高速な処理が期待できるGPUのAPIの順番は、Metal > CUDA > OpenCL です。
Windows環境
OSの仕様によりMetalを利用できません。
AMD Radeonの比較的新しいAPIであるMetalはWindows環境でサポートされておらず、OpenCLによる処理になります。
このため、一般的には次の順番になります。
(高速)NVIDIA(CUDA) > AMD Radeon( OpenCL ) > Intel (CPU) (低速)
エンコード
DaVinci Resolve仕様として、無償版では、H.264のハードウェア エンコード を利用できない制限があります。このため、無償版でのH.264のエンコードは、ソフトウェア処理(CPUを利用した演算)となります。(参考:バージョン17.4から、無償版でもH.265のハードウェア エンコードに対応)
デコード
無償版/有償版にかかわらず、H.264とH.265のハードウェア デコードに対応しています。
ただし、厳密には、無償版と有償版では異なります。
- 無償版:Windows OSを経由し、OSの機能としてのハードウェア デコードを機能利用
- 有償版:NVIDIA SDKを利用し、直接ハードウェア デコードを実施
理論上、有償版の方がデコードのパフォーマンスが高くはなりますが、その差を明確に感じることは困難と思われます。(参考:バージョン19から無償版でもWindows OS経由にて、H.264とH.265のハードウェア デコードに対応)
エフェクト処理
無償版でもCUDAやOpenCLの処理に制限はありません。
DaVinci Resolve(無償版) | DaVinci Resolve Studio(有償版) | |
---|---|---|
NVIDIA (NVENC/NVDEC) | H.264 ・ソフトウェアエンコード ・ハードウェアデコード H.265 ・ハードウェアエンコード ・ハードウェアデコード 各種エフェクト ・CUDA | H.264 ・ハードウェアエンコード ・ハードウェアデコード H.265 ・ハードウェアエンコード ・ハードウェアデコード 各種エフェクト ・CUDA |
AMD Radeon (Ryzen搭載GPUを含む) | H.264 ・ソフトウェアエンコード ・ハードウェアデコード H.265 ・ハードウェアエンコード ・ハードウェアデコード 各種エフェクト ・OpenCL | H.264 ・ハードウェアエンコード ・ハードウェアデコード H.265 ・ハードウェアエンコード ・ハードウェアデコード 各種エフェクト ・OpenCL |
Intel (Intel QuickSync) (CPU、Intel ARC GPUを含む) | H.264 ・ソフトウェアエンコード ・ハードウェアデコード H.265 ・ハードウェアエンコード ・ハードウェアデコード 各種エフェクト ・OpenCL | H.264 ・ハードウェアエンコード ・ハードウェアデコード H.265 ・ハードウェアエンコード ・ハードウェアデコード 各種エフェクト ・OpenCL |
Windows環境の概要としては以上ですが、 同じメーカー(ブランド)の製品であっても、世代によって、ハードウェアでエンコード/デコードできるかの可否が異なります。 詳しくは下の「ハードウェアによるサポートの有無」も確認ください。
mac環境
次の通り有償版、無償版でパフォーマンスに直結する制限はありません。
DaVinci Resolve(無償版) | DaVinci Resolve Studio(有償版) | |
---|---|---|
Apple M1 / M2 | Media Engine / Metal | Media Engine/ Metal |
AMD Radeon | Metal | Metal |
Intel (CPU) | Intel QuickSync | Intel QuickSync |
mac環境の概要としては以上ですが、 同じメーカー(ブランド)の製品であっても、世代によって、ハードウェアでエンコード/デコードできるかの可否が異なります。 詳しくは下の「ハードウェアによるサポートの有無」も確認ください。
ハードウェアによるサポートの有無
概要としては、上に記載の通りですが、同じメーカー(ブランド)の製品であっても、世代によって、ハードウェアでエンコード/デコードできるかの可否が異なります。詳しくは次のリンクで確認してください。
NVIDIA
一部のチップの記載がないですが、参考になると思います。後述の「パフォーマンスに関係する情報」に記載の情報も確認ください。
AMD Radeon
利用できる情報が見つけられませんでした。
Intel
公式でまとまっているものが見当たりません。次のブログが参考になると思われます。
パフォーマンスに関係する情報
NVIDIA
NVENCの性能について
NVIDIAのGPUに搭載されているハードウェア エンコーダー NVENCはGPUの世代で同等です。
ただ、2022年頃から販売を開始している4000番台のGPUからは搭載されるNVENCの搭載数が変わり、4070Ti以上では2基搭載され、エンコード時間が大幅に短縮されます。
NVENCの最大セッション数
「Max # of concurrent sessions」列にNVENCの最大セッション数の記載があります。
タイムライン中に複数の動画が重なる場合に、このセッション数の影響を受けます。最大数を超える場合、それ以上のエンコード処理はCPUでのエンコードになります。
また、DaVinci Resolve以外のソフトでもNVENCを利用するソフトがある場合、このセッション数が消費されます。
以前はGeForceシリーズは最大で3でしたが、2023年3月に公開されたドライバーから最大数が5になりました。また、2024年1月には、一部を除き、最大数が8になりました。
参考
性能差は、次の記事も参考になるかと思います。
更新
2023/8/8 NVENCの世代間性能と、搭載数によるエンコード時間についてを追加
2024/2/3 NVENCの最大セッション数が5→8となった件を追記
2024/10/09 バージョン19でWindowsの無償版環境でもH.264とH.265のハードウェア デコードに対応した旨を記載