private void TakeSample() { RecordList_.Clear(); SampleTime_ = DateTime.Now; SampleCount_ = 0; SampleSize_ = 0L; var Samples = Resources.FindObjectsOfTypeAll <UnityEngine.Object>(); foreach (var Sam in Samples) { var SampleSize = 0L; #if UNITY_5_6_OR_NEWER SampleSize = Profiler.GetRuntimeMemorySizeLong(Sam); #else SampleSize = Profiler.GetRuntimeMemorySize(Sam); #endif var Name = Sam.GetType().Name; SampleCount_++; SampleSize_ += SampleSize; Record CurRec = null; foreach (var Rec in RecordList_) { if (Rec.Name == Name) { CurRec = Rec; break; } } if (CurRec == null) { CurRec = new Record(Name); RecordList_.Add(CurRec); } CurRec.Count++; CurRec.Size += SampleSize; } RecordList_.Sort(RecordComparer); }
private void TakeSample() { SampleTime_ = DateTime.Now; SampleSize_ = 0L; DuplicateSampleSize_ = 0L; DuplicateSimpleCount_ = 0; SampleList_.Clear(); var Samples = Resources.FindObjectsOfTypeAll <T>(); foreach (var Sam in Samples) { var MemSize = 0L; #if UNITY_5_6_OR_NEWER MemSize = Profiler.GetRuntimeMemorySizeLong(Sam); #else MemSize = Profiler.GetRuntimeMemorySize(Sam); #endif SampleSize_ += MemSize; SampleList_.Add(new Sample(Sam.name, Sam.GetType().Name, MemSize)); } SampleList_.Sort(SampleComparer); for (var Index = 1; Index < SampleList_.Count; ++Index) { if (SampleList_[Index].Name == SampleList_[Index - 1].Name && SampleList_[Index].Type == SampleList_[Index - 1].Type && SampleList_[Index].Size == SampleList_[Index - 1].Size) { SampleList_[Index].Highlight = true; DuplicateSampleSize_ += SampleList_[Index].Size; DuplicateSimpleCount_++; } } }