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]);
        }