はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】フレームレート・描画回数を減らしてバッテリーの消費・発熱を抑える

はじめに

今回はフレームレートや描画回数を減らしてバッテリーの消費・発熱を押さえる記事になります!

前置きはなしに早速みていきましょう。

フレームレートを落とす

フレームレートとは1秒あたりの画面更新回数のことです。

ただし描画だけでなく処理自体も遅くなる(Updateの回数等)ことに注意してください。

スクリプトから設定するには、Edit -> ProjectSettings -> QuialitVSnyc CountD'ont Syncに設定してください。

  1. Every V Blank : 60fps
  2. Every Second V Blank : 30fps
  3. D'ont V Sync : フレームレート指定なし(スクリプトからは設定)

f:id:hanaaaaaachiru:20200307154715p:plain

// 30fpsを目標に描画する(必ず30fpsにはなるとは限らない)
Application.targetFrameRate = 30;

描画回数を減らす

次に描画回数のみ減らす処理を書いてみたいと思います。(unity2019.3以降)

これは処理速度には変化がないことに注意してください。

// 30フレームに1回描画をする
OnDemandRendering.renderFrameInterval = 30;

さいごに

結構Unityのプロジェクトはシンプルなシーンでもスマホが発熱すると言われて低評価みたいな事もあるので、あまり速度を必要としないロード画面などはしっかりと対処した方が良いかもしれません。

またスマホなら30fpsでもいいような気もします。

とりあえず今回はこのへんで。

ではまた。