読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

フレームレートを落として電池消費を抑える

Unity 最適化・デバッグ トラブルシューティング iOS Android

FPSを下げるとUpdateが呼ばれる頻度や描画回数が減り、結果的にパフォーマンスが安定したり電池消費を超抑えたりすることが出来ます。電池消費を抑える事は、AndroidiOSといったモバイル端末には重要です。



Unityのフレームレートを落とすには、Startとかその辺りに以下の処理を記述します。

void Start () {
QualitySettings.vSyncCount = 0; // vsyncをOFFにする
Application.targetFrameRate = 5; // FPSを5に設定
}

FPSとアニメーション速度を制御するデモ

ただ、単純にFPSを下げただけでは汚いだけなので、画面が停止しているタイミングや画面がゆっくり動いているタイミング等に絞るのが良さそうです。(実際、物がゆっくり動いている場合フレームレートを下げてもそこまで気になりません)具体的には演出等は60FPSで実行し、基本的な操作は15〜30FPSで運用すると、かなり良い感じにバランスが取れそうです。

またFPSを下げた場合Updateが呼ばれる頻度が減るので入力が若干鈍くなる点や、積極的に可変フレームレートにするのでフレームレートに依存した移動量等を設定している場合は注意が必要です。


逆にFPSを上げる場合、描画回数につられてUpdateを呼び出す回数も上がるので、高FPSを設定している場合はUpdateに処理をスキップするような処理を付与しておく方が良さそうです。