前言
Unity3D提供了性能分析工具Profiler。今天我们用Profiler来分析一下一个小项目的内存使用信息数据的情况,和大家一起了解一下Profiler。
一、Profiler是什么?
Profiler是是内置的一种方法,通过在运行时为大量的Unity3D子系统生成使用情况和报告统计,可以给不同的子系统收集如下数据:主要包括以下功能: 1.CPU消耗量(每个主要子系统) 2.基本和详细的渲染和GPU信息 3.运行时内存分配和总消耗量 4.音频源/数据的使用情况 5.物理引擎(2D和3D)的使用情况 6.网络消息传递和活动情况 7.视频回放的使用情况 8.基本和详细的用户界面性能 9.全局光照统计数据
二、使用步骤
1.打开Profiler
window- Analysis-Proflier (或者直接快捷键Ctrl+7) 打开应该是这个样子的
2.读取数据
运行项目,点击Memory,再点击Simple,选择Detailed 界面就会成这样的,然后就会看到运行时内存中这五个项:Other,Not Saved,Assets,Sence Memory,Builtin Resources
分析
先看Other 它有这么老长,咱捡主要的说哈 System.ExecutableAndDlls:系统可执行程序和DLL,是只读的内存,用来执行所有的脚本和DLL引用。不同平台和不同硬件得到的值会不一样。 ManagedHeap.UsedSize:托管堆使用大小。 ManagedHeap.ReservedUnusedSize:托管堆预留不使用内存大小,只由Mono使用。 Profilling:Profiler运行所占的内存。 SerializedFile:序列化文件,把显示中的Prefab、Atlas和metadata等资源加载进内存。 PersistentManager.Remapper:持久化数据重映射管理相关。 Rendering:渲染所占的内存。 再看Not Saved 它里面是这个样子的 Not Saved指的是项目中通过代码生成的各种资源记录。 再看Assets Shader:着色器, Texture2D: 2D贴图及纹理。 AudioManager:音频管理器 AudioClip:音效及声音文件 Cubemap:立方图纹理 Mesh:模型网格 其他俩个基本上,比较小,所以就不做描述了,至少我理解是这样的,哈哈哈哈。
|