void CaptureFrame(ref AssetBundleContext context) { context.ProfilerData.DataCount++; FrameProfilerData currentframedata = new FrameProfilerData(); currentframedata.Frame = Time.frameCount; var scene = SceneManager.GetActiveScene(); currentframedata.Scene = scene.name; //tasks for (int i = 0; i < context.Tasks.Count; i++) { var task = context.Tasks[i]; currentframedata.AddCopyTask(ref task); } //Historyx var allassetbundles = context.Cache.GetAllAssetBundle(); foreach (var kv in allassetbundles) { var gameassetbundle = kv.Value; AssetBundleHistory history = new AssetBundleHistory(); history.AddObjectRef(ref gameassetbundle); currentframedata.AddHistory(ref history); } context.ProfilerData.Add(ref currentframedata); }
public void Add(ref FrameProfilerData data) { if (Datas == null) { Datas = new FrameProfilerData[512]; } //old Datas[Offset].Dispose(); Datas[Offset] = data; Offset = (Offset + 1) % Datas.Length; }
public FrameProfilerData GetLastestData() { if (Datas == null) { FrameProfilerData data = new FrameProfilerData(); data.Frame = -1; return(data); } else if (DataCount >= Datas.Length) { var realoffset = AssetBundleFunction.GetRingOffset(Offset - 1, 0, Datas.Length); return(Datas[realoffset]); } if (Offset == 0) { FrameProfilerData data = new FrameProfilerData(); data.Frame = -1; return(data); } return(Datas[Offset - 1]); }