public void Finish(hwmPerformanceStatisticsItem item) { item._Stopwatch.Stop(); hwmPerformanceStatisticsItem.History history = new hwmPerformanceStatisticsItem.History(); history._Ticks = item._Stopwatch.ElapsedTicks; item._Historys.Add(history); }
public void LogAndRecord() { List <string> historyStrs = new List <string>(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("Performance Statistics:"); foreach (KeyValuePair <string, hwmPerformanceStatisticsItem> item in m_Items) { string itemFilePath = m_RecordDirectory + item.Value._Name + ".txt"; if (File.Exists(itemFilePath)) { File.Delete(itemFilePath); } List <hwmPerformanceStatisticsItem.History> historys = item.Value._Historys; long[] ticks = new long[historys.Count]; historyStrs.Clear(); for (int iHistory = Mathf.Max(0, historys.Count - hwmPerformanceStatisticsItem.MAX_RECORD_HISTORY_COUNT); iHistory < historys.Count; iHistory++) { hwmPerformanceStatisticsItem.History iterHistory = historys[iHistory]; ticks[iHistory] = iterHistory._Ticks; historyStrs.Add(hwmPerformanceStatisticsItem.SerializeHistory(iterHistory)); } File.WriteAllLines(itemFilePath, historyStrs.ToArray()); if (historys.Count > 0) { ValueAnalysis tickAnalysis = new ValueAnalysis(ticks); stringBuilder.AppendLine(string.Format("Name: {0} Count:{1} AvgTick:{2:F2}" , item.Value._Name , historys.Count , tickAnalysis.Avg)); } } historyStrs.Clear(); historyStrs = null; UnityEngine.Debug.Log(stringBuilder.ToString()); }