MRが楽しい

MRやVRについて学習したことを書き残す

Stopwatchを使ってデバッグログでスクリプトの処理時間を調べる

本日は Unity の技術調査枠です。
Stopwatchを使ってデバッグログでスクリプトの処理時間を調べる方法を記事にします。

System.Diagnostics.Stopwatch

System.Diagnostics.Stopwatch を使うから経過時間を計測することができます。
docs.microsoft.com

この Stopwatch クラスを使って経過秒を取得し、任意のセクションにデバッグログを埋め込むことでステップごとの処理時間を確認することができます。
本記事では前回記事で作成した glb の読み込み処理の処理時間をログに表示してみます。
bluebirdofoz.hatenablog.com

実行例

前回記事のサンプルシーンをそのまま利用します。
f:id:bluebirdofoz:20201212233112j:plain

GLBLoadTest.cs のスクリプトに以下の通り、デバッグログを埋め込みました。
・GLBLoadTest.cs

f:id:bluebirdofoz:20201212233127j:plain

以下の部分が時間の計測とデバッグ表示の処理になります。

// Stopwatchの開始
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();

// ...計測処理

Debug.Log("ElapsedMilliseconds : " + stopwatch.ElapsedMilliseconds + " ms");
stopwatch.Stop();

シーンを再生してコンソールを確認すると、glb の読み込み処理でかかった時間がログに表示されます。
f:id:bluebirdofoz:20201212233139j:plain