RTX3090程度のGPUが負荷70%程度になるようなMadVRの設定を紹介します。
私のRTX3090を用いたアニメ向けの各種設定を備忘録として記したものです。
一応私が3090を持っている証拠です。サイト開設日とURLを添えました。

最近話題のAI用に強めのグラボを買ったので備忘録の更新としてこの記事を書きました。

想定しているGPUスペックとアニメの状態(コーデック・画質など)
GPUのスペック目安
3DMarkのスコアが20000程度を想定しています。
NVIDIA製
AMD製
ローエンドグラボ向けの設定はこちら
アニメの状態
想定しているコーデック
- AOMedia Video 1
- H.265/MPEG-H HEVC
- H.264/MPEG-4 AVC
コマ落ちせず(Dropped Flamesがゼロで)再生できたのはこれらのコーデックです。
多分現状普及しているコーデックの中では、AOMedia Video 1が再生時の負荷が最も大きいので、AOMedia Video 1が問題なく再生できている以上コーデックは何でもいけそうです。
もちろん、後述する設定においては、という条件付きですが。
再生するアニメの画質・フレームレート
- 1280×720(HD画質=大半のアニメのサイズ)
- 1440×1080(地上波・BS/CSで録画した時のサイズ)
- 1920×1080(FHD画質=youtube等のアニメのPVのサイズ)
私の設定においては、これらの解像度のものならコマ落ちせず(Dropped Flamesがゼロで)再生できています。
アニメを想定しているので当然全ての解像度においてフレームレートは24FPSか23.98FPSです。
テレビ録画をすると23.98FPSになっており、youtubeなどネット配信アニメなら24FPSでしょう。
PVなどは30FPSのものもあります。
アニメ向けのMADVRの設定
MadVRを使用するためには
MPC-BEにてMadVRを使う方法はこちらの記事の後半で解説しているので割愛します。
この後の設定はAnime4Kを併用していることを前提にしていますが、これは低負荷なのでオンオフしても負荷はほとんど変化しません。
anime4kをまだ導入していない方は先にそちらを導入することを勧めます。
また、MPC-BEの使いこなし方についてはこちらで紹介します。
実際のMadVRの設定
この順に説明していきます。

Processing
deinterlacing

インターレース解除に関する設定です。
画像の通りにしています。
3つめのチェックは必ず外しましょう。アニメには不向きです。
artifact removal

バンディングノイズを除去するためのものです。
古いアニメを見る方は特に有効化で効果が実感できますよ!!
バンディングノイズとは、こういう奴です。

image enhancements

アニメをアップスケールすると線が太くなりがちなため、エッジを強調します。
ディテール向上(4つめ)はアニメによっては激しいノイズのようになってしまうので注意が必要です。
zoom control

プロジェクター向けの制御機能がまとまっています。
動画のアクティブ領域と黒帯を検出し、字幕をその黒帯の位置に移動させることができます。
ディスプレイでのアニメ視聴には関係ないのでデフォルトのままにします。
Scalling algorithms

これよりこちらの設定に入ります。
chroma upscaling

これは、圧縮の課程で動画から失われた色を補完する機能です。
MadVR固有の機能であるNGUを使います。
アンチエイリアスが、アニメ視聴にはおすすめです。
image downscaling

入力ソースより小さく映して再生する場合の機能です。
あまり使いません。
image upscaling
映像のアップスケーリング設定です。
NGUアンチエイリアスをここでは使用していますが、画面が平坦すぎると感じた場合はNGUシャープなども検討してみてください。
輝度(luma)と彩度(chroma)をそれぞれアップスケール具合を決めています。
性能の低いグラボでは、人の目が輝度に敏感なことを踏まえてchroma(色彩)はクオリティを抑えluma(輝度)のアップスケールに多くのリソースを割り振るかたちにしますが、3090なら全部very highでOK☆
upscaling refinement

ここはもう完全に好みの領域です。
MadVRの補正を自分の好きな形にカスタムする設定箇所のようなものです。
デフォルトで一度再生して、徐々にここで微調整するのもおすすめのようですが、正直違いがわからなかったのでこの画像通りデフォルトの設定で維持しています。
rendering
今からここの説明をします。

general settings
Gneral settingsの和訳
□delay playback start until render queue is full:
レンダーキューがいっぱいになってから再生を開始する□delay playback start after seeking, too:
シーク後の通常再生移行時にも□enable windowed overlay (Windows 7 and newer):
Win7以降 オーバーレイモードを有効にする□enable automatic fullscreen exclusive mode:
フルスクリーンモード時、排他モードを有効にする□disable desktop composition (Vista and Windows 7):
ON/OFFして動作確認する。win7以降、3フレーム遅延防止のため再生開始時にデスクトップコンポジョンを無効にする□only when media player in fullscreen mode:
フルスクリーンモード時のみ□use Direct3D 11 for presentation (Windows 7 and newer):
win7以降 D3D11プレゼンテーションを有効にする(10bit出力する場合などに有効する必要あり)□present a frame for every VSync:
全てのフレームをVSync(垂直同期)させる□use a separate device for presentation (Vista and newer):
vista以降 他に使用できるopenGL/CLエンジンが有れば追加して負荷を分散する。
効率が上がるわけではない。□use a separate device for DXVA processing (Vista and newer):
https://ameblo.jp/tone-123aaa/entry-12583994303.html
vista以降 他に使用できるDXVAエンジンが有れば、そっちに処理を移動する

こういう感じにしていますが、queue sizeはいくつにしてもほとんどレンダリング時間が変化しなかったので、何でも良さそうです。
windowed mode

先にサーバルフレームをセットすることで遅延低減、初期描写トラブル防止の効果があるようです。
4フレームもあれば十分でしょう。
exclusive mode

ここのチェックを忘れてしまうとシークバーによる操作ができなくなってしまうのでご注意ください!
stereo 3d

3Dの立体音響についての何かでしょうか……?
当方ステレオヘッドホンを使用しておりこの機能をオンオフしても何ら変化が感じられません。とりあえずオンにしましたが。
smooth motion

ここは絶対にオンにしてはいけません!!
フレーム補間ではなく、水増しですので、ただ単にレンダリング時間が延びパフォーマンスが低下します。
dithering
画像データの縮減などを行なう際に、データに意図的にわずかなノイズを加え、加工・変換によって生じる境界部分の平滑化や誤差の周期化などを抑える手法。
単純な処理結果に比較して、人間の視覚にとってより自然で美しく感じられる結果を得ることができる。
https://ameblo.jp/tone-123aaa/entry-12583994303.html

ごらんのように設定しておきます。
「option1」が最高設定で、「option2」が次点の性能です。
3090のお陰でようやく最高設定を試せたぜ☆
screenshots

再生画面のスクショは利用しないので適当にデフォルトの設定にしてます。
OSD非表示だけはチェックを入れておくと万が一のスクショ時に良いでしょう。
trade quality for performance
画質よりスピードを求める場合にはオンに設定しますが、画質が落ちるのですべてOFFに!
□optimize subtitle quality for performance instead of quality:
字幕の品質向上のためにパフォーマンスを最適化する□use DXVA chroma upscaling when doing native DXVA decoding:
DXVAデコードを行う時にDXVAでクロマアップスケーリングをする□use DXVA chroma upscaling when doing DXVA deinterlacing:
DXVAインターレース解除を行う時にDXVAでクロマアップスケーリングをする□store custom pixel shader results in 16bit buffer instead of 32bit:
カスタムピクセルシェーダーを16bitバッファにする□don’t use linear light for dihering:
デザリングにリニアライトを使わない□ don’t analyze gradient angles for debanding:
バンディングのグラデーション角度を解析しない□don’t rerender frames when fade in/out detected:
フェード検出時には再レンダリングをしない□lose BTB and WTW if it improves performance:
パフォーマンス向上のためにRGBレベル変換の一部調整を簡略化する。
(Black:16以下 / white:235以上の再現特性補正をしない)□don’t use linear light for smooth motion frame blending:
スムースモーション使用時にはリニアライト処理はしない□use 10bit chroma buffer instead of 16bit:
クロマバッファを10bitバッファにする□use 10bit image buffer instead of 16bit:
イメージバッファを10bitバッファにする□run custom pixel shaders in video levels instead of PC levels:
カスタムピクセルシェーダ処理をPCレベル(0-255)で行う□use lower bitdepth for yCMS 3DLUT calibration:
yCMS と 3DLUT校正時に低いビット深度に変換する以下は特殊用途向けの設定だが、GPUをアブノーマルな使い方をするので問題を起こす可能性がある
□use half frame rate for DXVA deinterlacing:
DXVAインターレース解除をハーフフレームレートで行う□trust DXVA color & levels conversion:
https://ameblo.jp/tone-123aaa/entry-12583994303.html
DXVAカラーとレベルを変換する

要するに、全部オフです!!!
実証 MadVRのアニメ向け設定適用時の再生負荷
上記の設定全てを適用して、GPUの動作クロックなどはデフォルトのままのRTX3090を用いた時の画像がこちらです。
(左の詳細情報を拡大した画像も下に載せてます)

検証にはシャンフロのPVを使っています。シャンフロは面白いですよ(ダイマ)
なお、再生状況は以下の通りです。手持ちの動画の中では、最も再生負荷の大きいものです。
- コーデック:AOMedia Video 1(再生時の負荷はHEVCより高負荷)
- サイズ:FHD(1920×1080)
- フレームレート:29.97FPS
- 出力ディスプレイ:4K(3840×2160)
ドロップフレーム数は、シークバーを動かす直後は増えることがありますが、その後増加しなければ問題なく描写できていると見なせます。
下から5行目の「rendering」の値が33.3ms以下ならコマ落ちせず再生できているといえます。

なお、33.3msとは、1秒=1000msをフレームレート数30で割った数値です。
24FPSなら41.6ms、60FPSなら16.7msを下回っている必要があります。
流石にこの設定で60FPSは厳しいようですねぇ…
アニメには滅多にないのでセーフ!
GPUの負荷はこんな感じです。連続数時間再生しても70℃はいかないレベルの負荷です。

なお消費電力は、グラボ単体で275~350Wの模様(白目)

まとめ アニメ向けMADVRの設定
ハイエンドグラボ向けのアニメ再生設定を備忘録として記述しておきました。
皆さまがよいアニメライフを送れることを祈っています。
Anime4Kの設定はこちらです。
追記 もっと良いアップスケールしてみませんか?
無料でMadVRやAnime4Kとは比べ物にならないほど高画質にできるソフトウェアを見つけたので知見と検証結果をまとめておきました。
関連記事