2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Cinemachineが重すぎる時にやるべきこと

Posted at

何の記事?

UnityのCinemachineは非常に便利なパッケージですが、使い方によって重くなることがあります。
最適化のための情報を見つけるのに苦労したため、日本語でも情報を残しておきます。

ちなみに以下のスレッドでUnityのGregorylさんが言っていることを紹介しているだけです。
https://forum.unity.com/threads/cinemachine-boundary-performance.806643/

効果を確認した環境

Unity 2022.3.4f1
Cinemachine 2.9.7

StandbyUpdateをNeverにする

最初にやるべきなのはVirtualCameraにある、StandbyUpdateの変更です。
カメラがアクティブで無い時に計算を走らせるかどうかを指定しています。
初期値はRound Robinとなっています。

VirtualCameraを色んな角度からのカットを保存するために使うと、
VirtualCameraの数が飽和して、この処理が非常に重くなります。
どうもVirtualCameraがついているオブジェクトを非アクティブにしても動いているようです。
非アクティブにするだけでは処理負荷が変わりませんでした

VirtualCameraが多い場合は、StandbyUpdateがNeverで可能な運用を探るか、
一部のカメラだけUpdateを有効化するようにしましょう。

image.png

CinemachineBrainのUpdateMethodをLateUpdateに

CinemachineBrainのUpdateMethodをLateUpdateに変更します。
SmartUpdateよりもパフォーマンス的に有利とのこと。 
じゃあSmartって一体…?とは思いますが

image.png

ビルドセッティングのDeepProfillingとScriptDebuggingをfalseに

Devlopmentビルドを使っている場合は、
ビルドセッティングのDeepProfillingとScriptDebuggingをfalseにしましょう。
オーバーヘッドが発生して遅くなるようです。
不便ですが、不正確なデータに惑わされるよりはマシですね……

image.png

以上です!
私の場合はこれでかなり早くなりました!!
ぜひお試しあれ!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?