プロファイラーでキャプチャーするには、5秒以内に問題を捉える力が必要…
UnityのProfilerが保存できるフレーム数は300に限定されていました。これは60FPSで動作するゲームでは約5秒に相当します。つまりProfilerで問題を確認する場合、フレームの問題が起こっている所の5秒をピンポイントでレコードする必要があるという事です。これは中々に難易度が高いです。
さらにVRのように120FPSで動作する場合、なんと驚きの2.5秒。この状態で処理落ちの瞬間をプロファイラーにキャプチャーするには、ザ・ワールドのようなスタンド能力者が一人必要です。
プロファイラのキャプチャーする範囲を2000フレームに伸ばす
Unity 2019.3でプロファイラーがキャプチャー出来る時間を2000フレームに伸ばすことが出来るようになりました。60FPSで言えば33.3秒。これなら余裕でしょう。
やり方は簡単、PreferenceのAnalyticsの項目でフレーム数を300から2000に伸ばすだけです。
この値を大きくすると「Profiler overhead and memory usage can increase significantly the more frame are kept in the profiler window through the ”Frame Count” setting.(”フレーム数”の設定を高く設定すると、プロファイラーのオーバーヘッドとメモリ使用量が大幅に増加する可能性があります)」という警告が出ますが、エディターのメモリ使用量とかそこまで気にするものかな?というのが個人的な印象。
実際どの程度大きくなるのかは把握していませんが、エディターが落ちるとか無ければ5秒でキャプチャーする作業より遥かに楽じゃないかな。
Unity 2019.3未満の場合
プロファイラの結果を300フレームごとに書き出していけば、300フレームの限界は突破出来ます。
例えばProfilerBinarylogSplitがそれを実現していたはずです。