You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
3.5 KiB
C#
122 lines
3.5 KiB
C#
using System;
|
|
using System.Text;
|
|
using UnityEngine;
|
|
|
|
namespace QO
|
|
{
|
|
// Token: 0x0200015F RID: 351
|
|
[ExecuteInEditMode]
|
|
public class AllocMem : MonoBehaviour
|
|
{
|
|
// Token: 0x06000A22 RID: 2594 RVA: 0x0002D02C File Offset: 0x0002B22C
|
|
public void Start()
|
|
{
|
|
base.useGUILayout = false;
|
|
}
|
|
|
|
// Token: 0x06000A23 RID: 2595 RVA: 0x0002D038 File Offset: 0x0002B238
|
|
public void OnGUI()
|
|
{
|
|
if (!this.show || (!Application.isPlaying && !this.showInEditor))
|
|
{
|
|
return;
|
|
}
|
|
int num = GC.CollectionCount(0);
|
|
if (this.lastCollectNum != (float)num)
|
|
{
|
|
this.lastCollectNum = (float)num;
|
|
this.delta = Time.realtimeSinceStartup - this.lastCollect;
|
|
this.lastCollect = Time.realtimeSinceStartup;
|
|
this.lastDeltaTime = Time.deltaTime;
|
|
this.collectAlloc = this.allocMem;
|
|
}
|
|
this.allocMem = (int)GC.GetTotalMemory(false);
|
|
this.peakAlloc = ((this.allocMem <= this.peakAlloc) ? this.peakAlloc : this.allocMem);
|
|
if (Time.realtimeSinceStartup - this.lastAllocSet > 0.3f)
|
|
{
|
|
int num2 = this.allocMem - this.lastAllocMemory;
|
|
this.lastAllocMemory = this.allocMem;
|
|
this.lastAllocSet = Time.realtimeSinceStartup;
|
|
if (num2 >= 0)
|
|
{
|
|
this.allocRate = num2;
|
|
}
|
|
}
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
stringBuilder.Append("usedHeapSize ");
|
|
stringBuilder.Append(string.Concat(new object[]
|
|
{
|
|
UnityEngine.Profiling.Profiler.usedHeapSize / 1024f,
|
|
" KB / ",
|
|
(float)SystemInfo.systemMemorySize * 1024f,
|
|
" KB"
|
|
}));
|
|
stringBuilder.Append("\r\n");
|
|
stringBuilder.Append("Currently allocated ");
|
|
stringBuilder.Append(((float)this.allocMem / 1024f).ToString("0"));
|
|
stringBuilder.Append("KB\r\n");
|
|
stringBuilder.Append("Peak allocated ");
|
|
stringBuilder.Append(((float)this.peakAlloc / 1024f).ToString("0"));
|
|
stringBuilder.Append("KB (last collect ");
|
|
stringBuilder.Append(((float)this.collectAlloc / 1024f).ToString("0"));
|
|
stringBuilder.Append(" KB)\r\n");
|
|
stringBuilder.Append("Allocation rate ");
|
|
stringBuilder.Append(((float)this.allocRate / 1024f).ToString("0.0"));
|
|
stringBuilder.Append("KB\r\n");
|
|
stringBuilder.Append("Collection frequency ");
|
|
stringBuilder.Append(this.delta.ToString("0.00"));
|
|
stringBuilder.Append("s\r\n");
|
|
stringBuilder.Append("Last collect delta ");
|
|
stringBuilder.Append(this.lastDeltaTime.ToString("0.000"));
|
|
stringBuilder.Append("s (");
|
|
stringBuilder.Append((1f / this.lastDeltaTime).ToString("0.0"));
|
|
stringBuilder.Append(" fps)");
|
|
if (this.showFPS)
|
|
{
|
|
stringBuilder.Append("\r\n" + (1f / Time.deltaTime).ToString("0.0") + " fps");
|
|
}
|
|
GUI.Box(new Rect(5f, 5f, 310f, (float)(80 + ((!this.showFPS) ? 0 : 16))), string.Empty);
|
|
GUI.Label(new Rect(10f, 5f, 2000f, 400f), stringBuilder.ToString());
|
|
}
|
|
|
|
// Token: 0x0400083E RID: 2110
|
|
public bool show = true;
|
|
|
|
// Token: 0x0400083F RID: 2111
|
|
public bool showFPS;
|
|
|
|
// Token: 0x04000840 RID: 2112
|
|
public bool showInEditor;
|
|
|
|
// Token: 0x04000841 RID: 2113
|
|
private float lastCollect;
|
|
|
|
// Token: 0x04000842 RID: 2114
|
|
private float lastCollectNum;
|
|
|
|
// Token: 0x04000843 RID: 2115
|
|
private float delta;
|
|
|
|
// Token: 0x04000844 RID: 2116
|
|
private float lastDeltaTime;
|
|
|
|
// Token: 0x04000845 RID: 2117
|
|
private int allocRate;
|
|
|
|
// Token: 0x04000846 RID: 2118
|
|
private int lastAllocMemory;
|
|
|
|
// Token: 0x04000847 RID: 2119
|
|
private float lastAllocSet = -9999f;
|
|
|
|
// Token: 0x04000848 RID: 2120
|
|
private int allocMem;
|
|
|
|
// Token: 0x04000849 RID: 2121
|
|
private int collectAlloc;
|
|
|
|
// Token: 0x0400084A RID: 2122
|
|
private int peakAlloc;
|
|
}
|
|
}
|