渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

Unity Profiler小技集


f:id:esakun:20150730215258g:plain

検証環境

  • Unity5.5.2p2
  • Unity5.5.1p2
  • Unity5.4.1p4
  • Mac OS 10.11.6

先日公開されたテラシュールブログさんのProfilerについての有用な記事。 tsubakit1.hateblo.jp

乗っかる形で私が知ってるProfilerについての小ネタを紹介します。

任意の処理のCPU負荷を調べる

特定の数行の処理不可を知りたい時が開発中によくあります。

Profiler.BeginSampleProfiler.EndSampleで処理を挟むと、その間のCPU負荷をProfilerに表示させることが出来ます。 Profilerに表示される名前はBeginSampleの第1引数に文字列で指定します。

サンプルコード

ただしProfilerに並ぶ処理数が多いため、自分が仕込んだプロファイルが見つかりづらいです。そんなときは検索機能を使います。

f:id:esakun:20170330122034g:plain

右上の検索窓から処理のキー(今回は「### Sampling ###」)を入力するとその処理が実行されたフレームでプロファイラに表示されます。

このように気になる処理不可を調べるということがサクッと出来るので私は結構使っている小技です。

GPUのフレームタイム表示の落とし穴

CPU UsageとGPU Usageが出ている時に、CPUとGPUの使用時間が確認出来ます。

【Unity】知っておくと少し便利な Profiler に関する小技集 - テラシュールブログ

こちらUnity5.5以上のバージョン(検証バージョン : 5.5.1p2)で可能となります。5.4系では使用できません。
※もしかしたら5.3以下のバージョンでは使えるかも?(未検証 / 未記憶)

f:id:esakun:20170330121701p:plain
Unity5.4系(検証バージョン : Unity5.4.1p4)ではGPU Usageがこのような表示になります。
※もしかしたら5.4の後半のバージョンでは使えるかもしれません

GPU Usageが上手く動かないというときは、Unityのバージョンが解決のヒントになるかも知れません。

Profiler自体が重いという認識を持つ

もはや小技ではなく気持ちの話ですが、Profiler自体が重いです。

ガチガチな負荷検証をする上ではProfilerを起動している事自体が負荷になるということを認識しておいたほうが良いかもしれません。 またDeep Profileは更に負荷が上がるので、それも心に留めておきたいところです。

f:id:esakun:20170330123450p:plain
※Deep Profileすると更に細かい処理負荷を表示させることが出来ます。

まとめ

テラシュールブログさんの記事を読んで、Unity5.6からプロファイルしたデータをSaveとLoadが出来るということを初めて知りました。 ちなみに中の人は5/8 ~ 9に開催されるUnite2017Tokyoでは、Unity5.6のNavMeshについてガッツリお話されるようです。

Unity 5.6よりNavmeshの低レベルAPIが公開され、Navmeshのほぼ全てがコントロール可能になりました。このセッションでは、Navmeshの低レベルAPIを活用する事で実現した高レベルなAPIサンプルの活用方法や、低レベルAPIの内容について紹介します。

NavMeshとは経路探索機能のことです。私も先日始めました。

Unity NavMesh始めました - 渋谷ほととぎす通信

また2017.3.30執筆時点でUnityのバージョンは5.6.0f2
もうすぐ正式リリースで楽しみです。

あわせてどうぞ

www.shibuya24.info

www.shibuya24.info

www.shibuya24.info