Davinci ResolveのグラフィックボードはNVidiaかAMDどっちがいいのか、結論が出た

2020年4月27日

  • NVidiaのGeForce、TITAN、Quadro
  • AMDのRADEON

どっちを買うべきなのか。
結論としては、使用しているコンピュータのOSによって違うということ。

具体的には、コンピュータグラフィックスAPI(コンピュータ・グラフィックス・アプリケーション・プログラミング・インタフェース)の振る舞いがグラフィックボードのメーカーごとに違うので、そこに注意する必要があります。でもコスパを考えると、実はどっちでもいいんです。(身も蓋もない話ですが)

結論

OSがWindowsならNVidiaを使うべき

なぜなら、WindowsでAMD製のグラフィックボードを使うとOpenCL経由になってしまうから。なので、WindowsならNVidiaのGeForceとかTitanとかを使うべきです。


OSがMacならAMD(RadeonとかQuadroとか)の方が有利

なぜなら、Metalのほうが最適化されてるので、同じ価格や同じベンチマークスコアならAMDのほうが有利。(ワットパフォーマンスは別として)

ちなみに、MacならCUDAMetalも両方使えてOpenCLを確実に回避できるので、どっちのグラフィックボードでも特に大きな問題はありません。

詳細

  • CUDA
  • Metal
  • OpenCL

Davinci Resolveで使われているAPIはこの3つで、このうちOpenCLが古くて使うべきではないAPIです。でもDavinci Resolveの場合、WindowsでRadeonなどのAMD製のグラフィックボードを使うと、Metalが使えないのでOpenCLで動作してしまう。

これについてはブラックマジックデザインの岡野太郎さんがこう仰っています。↓

こういうこと。↓

OS グラフィックボード 動作
Windows NVidia CUDAで動作(問題無し)
Windows AMD Metalが使えず、OpenCLで動作(良くない)
Mac NVidia CUDAで動作(問題無し)
Mac AMD Metalで動作(最適化されててむしろ有利)

10bitカラー問題

  • 一般的なモニターは8bit(256階調)で1677万色
  • HDR対応のモニター10bit(1024階調)で10億7300万色

NVidiaはGeForceでも10bitに対応可能

NVidiaのグラフィックボードの場合、対応モニターを使用すれば編集時にも10ビットカラーで描画できます。以前までは、NVidiaでもQuadroシリーズやTitanシリーズでしか10bitカラーに対応していませんでしたが、2019年7月以降ではGTX 1050以上のGeForceモデルでも10bit描画が可能になっています。つまり現行では全モデルが対応しています。(Game readyからStudioへのドライバー変更が必要)

https://www.nvidia.com/en-us/geforce/news/studio-driver/

NVidiaの公式ページの説明。30-bit color supportのタイトルで説明がなされています。この30bitとは、10bit出力×赤青緑の3色=30bitカラー(10億7300万色)で表現できることを意味しています。

https://pc.watch.impress.co.jp/docs/news/1199/083/index.html

PC Watchの同様の記事。

AMDの廉価モデルも10bitに対応

AMDも、以前まではProシリーズFire Proシリーズの高級モデルでしか10bitに対応していませんでしたが、Radeonシリーズでも現在では対応しているようです。知らなんだ。でもこれについては公式アナウンスが見られないので、結構情報が錯綜しているようです。

https://www.4gamer.net/games/022/G002212/20151209121/

2015年12月の記事。
プロフェッショナル向けのFireProがすでに10bitカラーに対応しているが,Radeon R9 300シリーズ以降のGPUでは,FirePro並みの仕様を獲得することになる

Radeon R9 300シリーズと言えば、2015年に出た3万円台のグラフィックボードですから、2020年に出たRX 6800 XTのようなモデルでも対応していると捉えるのが当然ではないでしょうか。(公式で明確な記述は見つけられなかった)

https://www.amd.com/ja/support/kb/faq/dh-008

排他的フルスクリーンモードで実行されている必要があります。

でもこれって、そのまま読めば「排他的フルスクリーンでない場合は10bit表示できない」ということになります。通常、排他的フルスクリーンと言えばDavinci Resolveで「Ctrl+Fで全画面プレビューをしているとき」のようなWindowsのタスクバーすら表示されない状態を言いますから、もしかしたらこのプレビュー画面でしか10bit表示できないのでは?という懸念はあります。(未検証)

2020年時点では10bit対応モニター自体が普及していないので大きな問題ではないかもしれませんが、今後はこれが重要になってくるでしょうね。

コスパを重視するならWindowsでもAMDはアリ

私は両機を使い比べたことがありません。でも色々調べた体感としてはOSがWindowsでも価格次第ではAMDもアリなんじゃないかと感じました。というのも、OpenCLを使うことで起こる能力の低下が10~せいぜい20%程度だと感じているからです。

システムとパフォーマンスの観点のみで言えば断然NVidiaのほうが有利ですが、NVidiaは本体価格が高い。一方、AMDはワットパフォーマンスは低いけど本体価格が安い。

15万円出してまで100点のNVidia(RTX 3080 Ti 20GBの私の想定価格)を買うより、9万円出して80点のAMD(Radeon RX 6800 XTの実売価格)を買うほうが良いという考えもアリなのでは?と思います。ワットパフォーマンスと高出力での使用頻度にもよりますけどね。
グラフィックボードは世代交代が非常に早い製品ですから、無理してまでNVidiaの上位モデルを買うのは賢明ではないと思うんです。(余剰の資金があるなら別ですが)

Windowsを使っている私はどっちかと言えばNVidia派ですが、少なくとも「WindowsなのにAMD製を買うのは間違い」とまでは言えません。

最近のオススメのグラフィックボードについては下記リンクで紹介しています。

他にも考察記事を書いているので良かったら併せてお読みください。