string statsText;
ProfilerRecorder totalReservedMemoryRecorder;
ProfilerRecorder gcReservedMemoryRecorder;
ProfilerRecorder systemUsedMemoryRecorder;
void OnEnable()
{
totalReservedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "Total Reserved Memory");
gcReservedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "GC Reserved Memory");
systemUsedMemoryRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Memory, "System Used Memory");
}
void OnDisable()
{
totalReservedMemoryRecorder.Dispose();
gcReservedMemoryRecorder.Dispose();
systemUsedMemoryRecorder.Dispose();
}
void Update()
{
//return;
var sb = new StringBuilder(500);
if (totalReservedMemoryRecorder.Valid)
sb.AppendLine($"总保留内存: {(totalReservedMemoryRecorder.LastValue/1024f)/1024f}");
if (gcReservedMemoryRecorder.Valid)
sb.AppendLine($"GC保留内存: {(gcReservedMemoryRecorder.LastValue / 1024f) / 1024f}");
if (systemUsedMemoryRecorder.Valid)
sb.AppendLine($"系统已用内存: {(systemUsedMemoryRecorder.LastValue / 1024f) / 1024f}");
statsText = sb.ToString();
}
void OnGUI()
{
GUIStyle style = new GUIStyle();
style.fontSize = 28;
GUI.TextArea(new Rect(10, 30, 250, 150), statsText, style);
}
如何在Unity中实时打印当前的内存消耗
最新推荐文章于 2024-06-20 09:59:01 发布
文章介绍了如何在Unity中使用ProfilerRecorder监控游戏内存,包括总保留内存、GC保留内存和系统已用内存,通过OnEnable,OnDisable和Update方法实现内存数据的记录和GUI展示。
摘要由CSDN通过智能技术生成