問題
FPSが低すぎる…
- 上の画像のとおり、アニメーション再生時のFPSが3.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を新規作成した時の値です。 詳しい値は画像を拡大してご確認ください。
出力プロパティ | ビューレイヤープロパティ |
デフォルト | デフォルト |
- プリファレンス – システム
グラボを使用するためにCUDAを選択。それ以外はデフォルトのままです。
FPSを向上させるために試したこと
Blenderを軽くするための方法ともいえます。
FPS改善の目的
この使用するファイル情報(大きいファイルサイズ)の状態で、どこまでFPSが向上するか検証しました。
- ファイルサイズを軽くする 効果あり
- 出力プロパティのフレームレートの設定を変更
- レンダープロパティ – バウンスを減らす
- レンダープロパティ – サンプリングを減らす
- ビューレイヤープロパティ – デノイズデータを使う
- レンダープロパティ – 簡略化 効果あり
ファイルサイズを軽くする 効果あり
- 当たり前の話、これが手っ取り早いです。
- 不要なシーンオブジェクトを削除した方が良いです。
30FPSです。
出力プロパティのフレームレートの設定を変更
出力プロパティ > フレームレート にあります。
- FPS 1と設定したら、1程度しか出ません。
- これはモデルのアニメーションを滑らかにしたいのであれば、なるべく高く設定しておいてください。(高く設定:Blender FPS欄の最低23.98 FPS以上)
- ゲーム用途ならば, 30FPS、60FPSが程よいです。
レンダープロパティ – バウンスを減らす
※ レンダーエンジン > Cycles のみ。
レンダープロパティ > ライトパス > 最大バウンス数
合計 | 12 | 1 |
---|---|---|
ディフューズ | 4 | 1 |
光沢 | 4 | 1 |
透過 | 8 | 1 |
伝播 | 12 | 1 |
ボリューム | 0 | 0 |
ほとんど変化がありません。FPS 3.52~4.01(目視)
レンダープロパティ – サンプリングを減らす
レンダープロパティ > サンプリング
レンダー | 128 | 1 |
---|---|---|
ビューポート | 32 | 1 |
ほとんど変化がありません。FPS 3.58~4.13(目視)
ビューレイヤープロパティ – デノイズデータを使う
-
パス > データ > デノイズデータ
に☑チェックを付けます。 -
パス > ライト > ディフーズ
に☑チェックを付けます。
ディフューズ | 査接照明 間接照明 |
---|---|
光沢 | 査接照明 間接照明 |
伝播 | 査接照明 間接照明 |
サブサーフェス | 査接照明 間接照明 |
逆にFPSがほんの少しだけ低下しました、 3.05~3.99(目視)
こちらのサイトを参考にしました。
レンダープロパティ – 簡略化 効果あり
レンダープロパティ > 簡略化
のチェックマークを付けるだけです。
FPS向上 6.95~8.07(目視)
その他 試したこと
-
オブジェクトを非表示にする
- 特に変化なしです。
-
3Dシェーディング ビュー切り換え
- ワイヤーフレーム
- 3Dシェーディング ソリッドモード
- 3Dシェーディング マテリアルプレビューモード
- レンダープレビュー
ワイヤーフレームより3Dシェーディング ソリッドモードにするだけで微妙にFPSが向上しました。
- NVIDIAコントロールパネルにプログラムを設定
- Blender.exeを選択し、設定はいじらずに適応し、PCを再起動します。(参考[2])
特に変化なしです。
- 訳が分からなくなったら、設定を初期化
- レンダープロパティ・出力プロパティ・ビューレンダープロパティをデフォルトに戻す
一度全ての設定をリセットして、一つ一つ確かめてみるのもありかと思います。
最後に
- 一番効果があったのは、レンダープロパティ – 簡略化にチェックを付けることでした。
- あとは、ファイルサイズを減らすこと。
- 最終結果として、FPSは3.83→11となりました。
- 元々ファイルサイズが大きいので、設定だけで抵抗するのは良くないことを学びました。
- 初心者ならば、あまり設定を変えすぎないことですかね。
- 一方、Mayaでは設定は特にいじらずに、ファイルサイズが500MBを超えても、余裕の30FPSでアニメーションを再生することができました。
参考資料
[1] Blender でレンダリング時間を短縮する方法まとめ
[2] Blenderが何かと動作が遅くなる対策 | 電脳ノート
[3] animation – アニメーション再生での低FPS
使用モデル:©ニコニ立体ちゃん