【Blender】FPSがとても遅いので改善した

wp_tmb_blender-fps

問題

FPSが低すぎる…

f:id:koshishirai:20200504110839g:plain:w700
  • 上の画像のとおり、アニメーション再生時のFPS3.83程度しか出ていません。
    • いや本当に動作やレンダリングが遅いんだ。。
  • そこで、私はなるべく品質を維持したままで、ビューでのFPSを高くするために試行錯誤しました。

というわけで、本記事ではBlenderの設定だけでアニメーション再生時のFPSを上げるために試してきたことを示しています。

動作環境

OS Windows10 Pro 1909
Software Blender 2.81~2.83, 2.90
CPU i9-9960X
GPU RTX2080Ti SLI x2
メモリ 64GB

使用ファイル情報

頂点 1,583,752
1,583,143
三角面 2,197,210
オブジェクト 0/606
メモリ 1.79GiB
ファイルサイズ 685 MB (718,532,656 バイト)
ディスク上のサイズ 685 MB (718,536,704 バイト)

その他

  • アニメーションするモデル数/コレクション数:7/42
  • レンダリング・描画に関する設定

今回の検証ための基準値です。Blenderを新規作成した時の値です。 詳しい値は画像を拡大してご確認ください。

20200504094745 20200504094803
レンダープロパティ その1 レンダープロパティ その2
Cycles GPU演算 その他デフォルト 1 Cycles GPU演算 その他デフォルト 2
f:id:koshishirai:20200504095437p:plain:w180 f:id:koshishirai:20200504095512p:plain:w180
出力プロパティ ビューレイヤープロパティ
デフォルト デフォルト
  • プリファレンス – システム

グラボを使用するためにCUDAを選択。それ以外はデフォルトのままです。

f:id:koshishirai:20200504100221p:plain

FPSを向上させるために試したこと

Blenderを軽くするための方法ともいえます。

FPS改善の目的

この使用するファイル情報(大きいファイルサイズ)の状態で、どこまでFPSが向上するか検証しました。

  • ファイルサイズを軽くする 効果あり
  • 出力プロパティのフレームレートの設定を変更
  • レンダープロパティ – バウンスを減らす
  • レンダープロパティ – サンプリングを減らす
  • ビューレイヤープロパティ – デノイズデータを使う
  • レンダープロパティ – 簡略化 効果あり

ファイルサイズを軽くする 効果あり

  • 当たり前の話、これが手っ取り早いです。
  • 不要なシーンオブジェクトを削除した方が良いです。
f:id:koshishirai:20200504112546g:plain

30FPSです。

出力プロパティのフレームレートの設定を変更

出力プロパティ > フレームレート にあります。

  • FPS 1と設定したら、1程度しか出ません。
  • これはモデルのアニメーションを滑らかにしたいのであれば、なるべく高く設定しておいてください。(高く設定:Blender FPS欄の最低23.98 FPS以上)
  • ゲーム用途ならば, 30FPS、60FPSが程よいです。
f:id:koshishirai:20200504101302p:plain

レンダープロパティ – バウンスを減らす

※ レンダーエンジン > Cycles のみ。

レンダープロパティ > ライトパス > 最大バウンス数

合計 12 1
ディフューズ 4 1
光沢 4 1
透過 8 1
伝播 12 1
ボリューム 0 0
f:id:koshishirai:20200407120105p:plain f:id:koshishirai:20200407120244p:plain

ほとんど変化がありません。FPS 3.52~4.01(目視)

レンダープロパティ – サンプリングを減らす

レンダープロパティ > サンプリング

レンダー 128 1
ビューポート 32 1
f:id:koshishirai:20200407114806p:plain f:id:koshishirai:20200407115021p:plain

ほとんど変化がありません。FPS 3.58~4.13(目視)

ビューレイヤープロパティ – デノイズデータを使う

  • パス > データ > デノイズデータ に☑チェックを付けます。
  • パス > ライト > ディフーズ に☑チェックを付けます。
ディフューズ 査接照明 間接照明
光沢 査接照明 間接照明
伝播 査接照明 間接照明
サブサーフェス 査接照明 間接照明
f:id:koshishirai:20200407121203p:plain

逆にFPSがほんの少しだけ低下しました、 3.05~3.99(目視)

こちらのサイトを参考にしました。

dskjal.com

レンダープロパティ – 簡略化 効果あり

レンダープロパティ > 簡略化 のチェックマークを付けるだけです。

f:id:koshishirai:20200504102512p:plain f:id:koshishirai:20200504105426g:plain

FPS向上 6.95~8.07(目視)

その他 試したこと

  • オブジェクトを非表示にする
    • 特に変化なしです。
  • 3Dシェーディング ビュー切り換え
    • ワイヤーフレーム
    • 3Dシェーディング ソリッドモード
    • 3Dシェーディング マテリアルプレビューモード
    • レンダープレビュー

ワイヤーフレームより3Dシェーディング ソリッドモードにするだけで微妙にFPSが向上しました。

  • NVIDIAコントロールパネルにプログラムを設定
    • Blender.exeを選択し、設定はいじらずに適応し、PCを再起動します。(参考[2])

特に変化なしです。

f:id:koshishirai:20200504103404p:plain
  • 訳が分からなくなったら、設定を初期化
    1. レンダープロパティ・出力プロパティ・ビューレンダープロパティをデフォルトに戻す

一度全ての設定をリセットして、一つ一つ確かめてみるのもありかと思います。

最後に

  • 一番効果があったのは、レンダープロパティ – 簡略化にチェックを付けることでした。
  • あとは、ファイルサイズを減らすこと。
  • 最終結果として、FPSは3.8311となりました。
  • 元々ファイルサイズが大きいので、設定だけで抵抗するのは良くないことを学びました。
    • 初心者ならば、あまり設定を変えすぎないことですかね。
  • 一方、Mayaでは設定は特にいじらずに、ファイルサイズが500MBを超えても、余裕の30FPSでアニメーションを再生することができました。

参考資料

[1] Blender でレンダリング時間を短縮する方法まとめ

[2] Blenderが何かと動作が遅くなる対策 | 電脳ノート

[3] animation – アニメーション再生での低FPS

使用モデル:©ニコニ立体ちゃん