void Print1() { { var r = ProfilerData.GetLuaSrcResMem(); LogMgr.LogError("lua文件数 : " + r.count + ", 内存 : " + r.MB + " MB"); LogMgr.LogError("lua总内存 : " + ProfilerData.GetLuaRuntimeMem() + " MB"); } { var r = ProfilerData.GetMemByType <TextAsset>((a) => { return(ProfilerData.IsLua(a.name)); }); LogMgr.LogError("### 实际 lua文件数 : " + r.count + ", 内存 : " + r.MB + " MB"); } { HashSet <string> set = new HashSet <string>(); var r = ProfilerData.GetMemByType <TextAsset>((a) => { var ln = a.name.ToLower(); if (set.Contains(ln)) { return(false); } set.Add(ln); return(ln.Contains(".lua")); }); LogMgr.LogError("### 实际 lua文件数 2 : " + r.count + ", 内存 : " + r.MB + " MB"); } { var r = ProfilerData.GetCSVResMem(); LogMgr.LogError("csv文件数 : " + r.count + ", 内存 : " + r.MB + " MB"); } { nameSet.Clear(); var r = ProfilerData.GetMemByType <TextAsset>((a) => { if (nameSet.Contains(a.name.ToLower())) { return(false); } nameSet.Add(a.name.ToLower()); return(ProfilerData.IsCSV(a.name)); }); LogMgr.LogError("### 实际 csv文件数 : " + r.count + ", 内存 : " + r.MB + " MB"); } { var r = ProfilerData.GetMemByType <Texture>((a) => { return(!string.IsNullOrEmpty(a.name)); }); LogMgr.LogError("纹理数 : " + r.count + ", 纹理内存 : " + r.MB + " MB"); } }
private void Update() { if (!ProfilerData.IsProfiling) { return; } var diff = Time.time - lastTime; if (diff <= 1f) { return; } lastTime = Time.time; #if UNITY_EDITOR //drawcall信息,只有在编辑器内有效 { drawCallCountText = string.Empty; var text = UnityEditorInternal.ProfilerDriver.GetOverviewText(UnityEditorInternal.ProfilerArea.Rendering, UnityEditorInternal.ProfilerDriver.lastFrameIndex); const string tag = "Draw Calls: "; int index = text.IndexOf(tag); if (index >= 0) { index += tag.Length; int index2 = -1; for (int i = index; i < text.Length; i++) { char ch = text[i]; if (!char.IsDigit(ch)) { index2 = i; break; } } if (index2 > index) { drawCallCountText = text.Substring(index, index2 - index); } } } #endif totalMem = ProfilerData.GetTotalMem(); unusedMem = ProfilerData.GetUnusedMem(); monoHeapMem = ProfilerData.GetMonoHeapMem(); monoUsedMem = ProfilerData.GetMonoUsedMem(); texResult = ProfilerData.GetMemByType <Texture>((a) => { return(!string.IsNullOrEmpty(a.name)); }); meshResult = ProfilerData.GetMemByType <Mesh>((a) => { return(!string.IsNullOrEmpty(a.name)); }); animClipResult = ProfilerData.GetMemByType <AnimationClip>((a) => { return(!string.IsNullOrEmpty(a.name)); }); luaNameSet.Clear(); luaResult = ProfilerData.GetMemByType <TextAsset>((a) => { var ln = a.name.ToLower(); if (luaNameSet.Contains(ln)) { return(false); } luaNameSet.Add(ln); return(ln.Contains(".lua")); }); //csvNameSet.Clear(); //csvResult = ProfilerData.GetMemByType<TextAsset>((a) => //{ // var ln = a.name.ToLower(); // if (csvNameSet.Contains(ln)) // { // return false; // } // csvNameSet.Add(ln); // return ProfilerData.IsCSV(ln); //}); luaMem = ProfilerData.GetLuaRuntimeMem(); }