はじめに
「PerfAssist」を Unity プロジェクトに導入することで
コルーチンのプロファイラを使用できるようになります
使い方
using System.Collections; using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif public class Example : MonoBehaviour { void SendEditorCommand( string cmd ) { #if UNITY_EDITOR var w = EditorWindow.GetWindow<EditorWindow>( "CoTrackerWindow" ); if ( w.GetType().Name != "CoTrackerWindow" ) return; w.SendEvent( EditorGUIUtility.CommandEvent( cmd ) ); #endif } private void Awake() { CoroutineRuntimeTrackingConfig.EnableTracking = true; StartCoroutine( RuntimeCoroutineStats.Instance.BroadcastCoroutine() ); SendEditorCommand( "AppStarted" ); CoroutinePluginForwarder.InvokeStart_IEnumerator = RuntimeCoroutineTracker.InvokeStart; CoroutinePluginForwarder.InvokeStart_String = RuntimeCoroutineTracker.InvokeStart; RuntimeCoroutineTracker.InvokeStart( this, "TestCoroutine" ); } private void OnDestroy() { SendEditorCommand( "AppDestroyed" ); } private IEnumerator TestCoroutine() { while ( true ) { yield return new WaitForSeconds( 0.3f ); } } }
上記のようなコードを記述して
Unity メニューの「Window>PerfAssist>CoroutineTracker」を選択すると
コルーチンのプロファイラを使用できます