Пример #1
0
        void CheckMemories()
        {
            if (_memoryStat == null)
            {
                _memoryStat = new MemoryStat();
            }

            _memoryStat.DoStat(true);
            long texturesMemories         = _memoryStat.CalcTextureMemories();
            long meshesCombinedMemories   = _memoryStat.CalcMeshesCombinedMemories();
            long meshesUncombinedMemories = _memoryStat.CalcMeshesUncombinedMemories();
            long totalMemories            = _memoryStat.CalcTotalMemories(texturesMemories, meshesCombinedMemories, meshesUncombinedMemories, 0);

            Debug.Log("场景总内存/Mesh占用/贴图占用: " + MemoryStat.GetMemoriesString(totalMemories) + "/" + MemoryStat.GetMemoriesString(meshesCombinedMemories + meshesUncombinedMemories) + "/" + MemoryStat.GetMemoriesString(texturesMemories) + "。 详情请运行场景内存统计工具查看!");
        }
Пример #2
0
        void OnGUI()
        {
            //_memoryStat._rootGo = EditorGUILayout.ObjectField("Root Object", _memoryStat._rootGo, typeof(GameObject), true) as GameObject;

            if (GUILayout.Button("Start"))
            {
                _memoryStat.DoStat(true);
            }


            long texturesMemories         = _memoryStat.CalcTextureMemories();
            long meshesCombinedMemories   = _memoryStat.CalcMeshesCombinedMemories();
            long meshesUncombinedMemories = _memoryStat.CalcMeshesUncombinedMemories();
            long animationClipsMemories   = _memoryStat.CalcAnimationClipsMemories();
            long totalMemories            = _memoryStat.CalcTotalMemories(texturesMemories, meshesCombinedMemories, meshesUncombinedMemories, animationClipsMemories);

            GUILayout.Label("估计总内存:" + MemoryStat.GetMemoriesString(totalMemories));
            GUILayout.Label("贴图占用:" + MemoryStat.GetMemoriesString(texturesMemories));
            GUILayout.Label("Mesh占用:" + MemoryStat.GetMemoriesString(meshesCombinedMemories + meshesUncombinedMemories) + " (其中未合并Mesh占用:" + MemoryStat.GetMemoriesString(meshesUncombinedMemories) + ")");
            // GUILayout.Label("动画占用:" + MemoryStat.GetMemoriesString(animationClipsMemories));


            _currentPage = GUILayout.Toolbar(_currentPage, _inspectToolbarStrings);
            switch (_currentPage)
            {
            case 0:
                GUILayout.Label("(显示格式 —— 贴图名: 占用内存大小)");
                ListTextures();
                break;

            case 1:
                GUILayout.Label("(以下为合并mesh信息        显示格式 —— Mesh名: 占用内存大小/总顶点数/使用次数)");
                ListMeshes();
                break;

                /*
                 * case 2:
                 *  GUILayout.Label("(显示格式 —— 动画名: 占用内存大小)");
                 *  ListAnimationClips();
                 *  break;
                 */
            }
        }