Exemplo n.º 1
0
    public static void Func()
    {
        //        System.Type t = Types.GetType("Unity.MemoryProfiler.Editor", "Unity.MemoryProfiler.Editor.dll");
        //var assembly =  Assembly.Load("Unity.MemoryProfiler.Editor");
        //var type = assembly.GetType("Unity.MemoryProfiler.Editor.MemoryProfilerWindow");
#if false
        var memoryProfilerWindow = type.InvokeMember(
            null
            , BindingFlags.CreateInstance
            , null
            , null
            , new object[] { }
            );


        var methodInfo = type.GetMethod("TakeCapture", BindingFlags.NonPublic | BindingFlags.Instance);
        methodInfo.Invoke(memoryProfilerWindow, null);
#endif
        //var window = EditorWindow.GetWindow(type);
        //var methodInfo = type.GetMethod("TakeCapture", BindingFlags.NonPublic | BindingFlags.Instance);
        //var methodInfo = type.GetMethod("DelayedSnapshotRoutine", BindingFlags.NonPublic | BindingFlags.Instance);



        //        methodInfo.Invoke(window, null);
        //      Debug.Log(window);
        var    now   = System.DateTime.Now;
        string fpath = System.IO.Directory.GetCurrentDirectory() + "/Temp/" + now.ToString("yyyyMMddHHmmss") + ".snap";
        MemoryProfiler.TakeSnapshot(fpath, FinishCB, ScreenshotCallback);
    }
Exemplo n.º 2
0
    public void RunMemoryProfile(bool full = true)
    {
        if (runningMemoryProfile || runningProfile)
        {
            return;
        }
        runningMemoryProfile = true;

        UpdateManager.Instance.Profile = true;

        Directory.CreateDirectory("Profiles");

        if (full)
        {
            MemoryProfiler.TakeSnapshot($"Profiles/FullMemoryProfile{DateTime.Now:yyyy-MM-dd HH-mm-ss}.snap", MemoryProfileEnd,
                                        CaptureFlags.ManagedObjects | CaptureFlags.NativeAllocations | CaptureFlags.NativeObjects |
                                        CaptureFlags.NativeAllocationSites | CaptureFlags.NativeStackTraces);

            return;
        }

        MemoryProfiler.TakeSnapshot($"Profiles/ManagedMemoryProfile{DateTime.Now:yyyy-MM-dd HH-mm-ss}.snap", MemoryProfileEnd,
                                    CaptureFlags.ManagedObjects | CaptureFlags.NativeAllocations | CaptureFlags.NativeAllocationSites
                                    | CaptureFlags.NativeStackTraces);
    }
Exemplo n.º 3
0
        public static void native(ConsoleSystem.Arg arg)
        {
            string   str = MemSnap.NeedProfileFolder();
            DateTime now = DateTime.Now;

            MemoryProfiler.TakeSnapshot(string.Concat(str, "/memdump-", now.ToString("MM-dd-yyyy-h-mm-ss"), ".snap"), null, CaptureFlags.NativeObjects);
        }
        /// <summary>
        /// MemoryProfiler.TakeSnapshotを実行する
        /// </summary>
        /// <param name="fname">snapshotのファイル名</param>
        public void TakeSnapshot(string fname)
        {
            isDone = false;
            var path = string.Format("{0}/{1}.snap", Application.temporaryCachePath, fname);

            MemoryProfiler.TakeSnapshot(path, FinishCB, ScreenshotCallback);
        }
Exemplo n.º 5
0
    private void Start()
    {
        MemoryProfiler.TakeSnapshot("Snapshot", ((s, b) => Debug.Log(s + b)), CaptureFlags.ManagedObjects | CaptureFlags.NativeObjects);

        _transforms = new Transform[Count][];
        _positions  = new Vector3[Count][];

        for (int i = 0; i < Count; i++)
        {
            _positions[i] = new Vector3[Count];
            for (int j = 0; j < Count; j++)
            {
                //_transforms[i, j] = new GameObject("obj" + i).transform;
                _positions[i][j] = Vector3.one * i;
                //_transforms[i, j].position = _positions[i, j];
            }
        }
    }
Exemplo n.º 6
0
 public static void full(Arg arg)
 {
     MemoryProfiler.TakeSnapshot(NeedProfileFolder() + "/memdump-" + DateTime.Now.ToString("MM-dd-yyyy-h-mm-ss") + ".snap", null, CaptureFlags.ManagedObjects | CaptureFlags.NativeObjects | CaptureFlags.NativeAllocations | CaptureFlags.NativeAllocationSites | CaptureFlags.NativeStackTraces);
 }
Exemplo n.º 7
0
 public static void native(Arg arg)
 {
     MemoryProfiler.TakeSnapshot(NeedProfileFolder() + "/memdump-" + DateTime.Now.ToString("MM-dd-yyyy-h-mm-ss") + ".snap", null, CaptureFlags.NativeObjects);
 }