60 FPS ゲームをプログラミングしていて、ゲーム ループのパフォーマンスに悪影響を及ぼしているコード セクションを見つける必要があります。現在、フレームの開始時にナノ秒のタイムスタンプを保存しており、コードを「パーティクルのレンダリング」や「敵の AI の繰り返し」などのロジック部分に分割しています。各セクションの実行が終了したら、最後のセクションが終了してからコードを実行するのに必要な実行時間を保存します。最後に、合計実行時間 ([現在のナノ秒] から [最初のナノ秒のタイムスタンプ] を引いた値) を取得し、各コード セクションの実行時間の割合を計算します。これにより、各セクションの割合を表示できますが、完璧な解決策ではないようです。GC はコード セクションの実行にランダムに影響を与えると思います。
正確にこれを行うための API / 分析ツールを実装できるより良い方法はありますか?