using System; using UnityEngine; namespace JNGame.Runtime.Util { public class Profiler { // [System.Diagnostics.Conditional("ENABLE_TEST_SROPTIONS")] public static void BeginSample(string tag) { #if UNITY_5_3_OR_NEWER UnityEngine.Profiling.Profiler.BeginSample(tag); #endif } // [System.Diagnostics.Conditional("ENABLE_TEST_SROPTIONS")] public static void EndSample() { #if UNITY_5_3_OR_NEWER UnityEngine.Profiling.Profiler.EndSample(); #endif } /// <summary> /// 统计标记时间 /// </summary> private static DateTime s_MarkStart; /// <summary> /// 重置当前时间 /// </summary> public static void ResetElapseTime() { s_MarkStart = DateTime.Now; } /// <summary> /// 统计时间间隔,单位:毫秒 /// </summary> /// <param name="tag"></param> public static void LogElapseTime(string tag = "") { var ms = (DateTime.Now - s_MarkStart).TotalMilliseconds; Debug.LogWarning($"{tag} use time:{ms} ms"); s_MarkStart = DateTime.Now; } } }