UnityUnityのProfilerはパフォーマンス改善をするときに非常に有用なツールです。その分機能も多く複雑になっており、理解するための敷板が高くなってしまっています。そこでこの記事では個人的にパフォーマンス改善に必要だと思う部分のみ簡単にまとめます。Profilerとは?基本的な使い方CPUプロファイラのHierarchyモードでCPU負荷を見るスレッド毎の処理を見るにはCPUプロファイラのTimelineを見るセットパスコール数が怪しかったらRenderingプロファイラで確認GPUの処理負荷はGPUプロファイラでメモリリークを発見するにはMemoryプロファイラ参考Unity2018.4.0Profilerとは?ProfilerとはUnityに組み込まれているツールで、CPUやGPU、メモリの負荷などを可視化することができます。FPSが落ちてしまうアプリのパフォーマンス改善をするときに使用します。docs.unity3d.comまたUnityエディタ上で使うツールですが、iOSやAndroidの端末と接続して端末の処理負荷を計測することもできます。Profilerを開いてゲームを再生するこれだけです。これでCPUなどの計測結果が流れてきます。Profilerから表示したいProfilerを選択します。iOSやAndroidといったモバイル端末の処理負荷を表示することもできます。この方法は次の記事にまとめていますので参照してください。light11.hatenadiary.comlight11.hatenadiary.comちなみに計測処理はProfilerウィンドウ左上のRecordボタンでON/OFFできます。情報が勝手に流れて破棄されたくない場合にはRecordボタンをOFFにします。ウィンドウ下部はHierarchyモードにしておきます。Usageのグラフ部分をクリックするとそのFrameにおける処理負荷がHierarchyに表示されます。これで大体どのメソッドの処理負荷が高いかがわかります。この状態ではすべてのソースコードが計測対象にはなっていません。Profileを有効にします。これでより詳細な分析結果が表示されるようになります。Profileは非常にオーバーヘッドが大きいので注意が必要です。大規模なゲームではUnityがメモリ不足になってしまうこともあります。いうときには処理負荷を計測したい部分にProfiler.BeginSample()とProfiler.EndSample()を仕込みます。}}これで、この部分の処理負荷がProfilerに計上されるようになります。Usageプロファイラを選択した状態で下部のウィンドウをTimelineモードにすると各スレッドの処理負荷を見ることができます。横軸がそのフレームにおける処理時間を表しています。上図ではメインスレッドで重い処理をしているのでメインスレッドに負荷が偏っていますが、メインスレッド以外で処理負荷が高い処理を行っていると次のような感じで表示されます。セットパスコール数が怪しかったらRenderingプロファイラで確認Renderingプロファイラを使うとセットパスコールを見ることができます。これらはGameビューのStatisticsからも見ることができますが、iOSやAndroidの端末のセットパスコールを見るときにはProfilerが必要です。ちなみにセットパスコールなどの説明は下記の記事にまとめています。light11.hatenadiary.comGPUの処理負荷はGPUプロファイラでGPUプロファイラを使うとGPUの処理負荷が計測できます。これは使える環境に限りがあります。詳しくは下記マニュアルを参照してください。Jobsにチェックが入っていると使えないようです。加えて注意点としてGPUプロファイラは重いので、使わない時は閉じておきましょうとのことです。メモリリークを発見するにはMemoryプロファイラMemoryプロファイラを使うと生成されているオブジェクトの数が取得できます。ここでいうオブジェクトとはUnityEngine.Objectを継承したクラスのインスタンスになります。このオブジェクト数が増え続けている場合、どこかで破棄をミスっている可能性があります。このようにMemoryプロファイラはメモリリークの検出に役立ちます。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。Blur(渦巻ブラー)のポストエフェクトを実装する月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。