关于外贸公司的网站模板宁波网站建设开发
文章目录
- 一.Stats组件
 - 1.Audio音频的数据组件:
 - 2.图形数据
 
- 二.Profiler 性能分析器
 
一.Stats组件
Unity自带Statistics(统计数据),Game视窗中点击Stats打开
 
1.Audio音频的数据组件:

1):Level 声音强度
 单位是分贝(dB) 表示音频听声音的大小,是闪烁波动的.
2):SDPload 数据信息负载
 数字信号处理的负载 播放的音频越多,越复杂,声音的采样就或高.避免负载或高.
3):Clipping 音频裁剪
 音频裁剪情况.当音频信息超过设备支持的最大范围后,该音频信息会被裁剪.坐而会有有一定程度的失真.
4):Staram load 流式负载
 表示音频采用流式加载的负载情况,即边听边下载情况下的音频的负载情况.
2.图形数据

1):FPS 帧率
 表示1秒内播放的的画面的数量,用于判断画面的流畅度.一般60以上为流畅.45以上为比较流畅,30以下则会开始会有卡顿感.
 这个数值不是越高越好,太高容易导致显卡发热.
2):CPU 单帧处理时长
 表示CPU处理一帧所用的时间.
 例如: CPU main0.7ms render thread 0.7ms 主线程花费0.7毫秒(主线程主要负责游戏逻辑的更新,用户输入,对像更新,碰撞检测等.)
 渲染线程花费0.7毫秒 渲染线程负责显示游戏画面.
3):Batches调用绘制批次数
 即CPU调用绘制(Draw Call)的批次数,应该尽量避免过大.
4):Saved by batching 被合并次数
 有多少个Draw Call合并到了指次 , 此数据越大表示优化的越好.
5):Tris 面数
 Triangle(三角形)当前帧射线机内三角型数量
6):Verts
 Vertex(顶点)当前帧射线机内顶点数量
7):Screen 屏幕
 当前屏幕的分辨率及内存,应当避免此数据太大.
8):SetPass calls 切换着色器通道次数
 渲染中一个Shader可以包含多个角色器通关(Shader pass) , 角色器通道切换会有一定性能消耗.应该避免此数据过大.
9):Shadow casters 产生阴影数量
 画面中有多少个对像产生了阴影.同一对像也可能多次产生阴影.应尽量避免此数据过大.
10):Visible skinned meshes 可见蒙皮网格
 可以见范围内,蒙皮网格的数量
11):Animation components playing
 当前播放的Animation数量
12):Animatior components playing
 当前播放的Animator数量
 
使用代码UnityStats.可以动态查看以上数据
二.Profiler 性能分析器
1.通过菜单栏Window > Analysis > Profiler 打开
 
2.这里我们可以看到窗口分为,CPU Rendering Memory 等信息…
 我们可以通过Profiler Modules 选择需要收集信息的模块
 
3.这里可以看查总收集帧数 和 当前查看帧数.用帧数控制可以操控上一帧,下一帧,及最后一帧.
 
4.当点击某个模块某帧时,左边对应颜色数值会显示对应消耗的量
 
5.下面的窗口也可以查看当前帧的详细信息
 
6.当重新开始收集时,需要点击Clear新空之前收集的帧数.否则将会从之前收集的帧数后面开始继续收集资料.
 
7.收集模式,通常选择playmode,再游戏开始运行后点击小圆圈开始录制.
 
8.点击Clear On Play按钮可以每次开始运行时自动清空上次运行的数据
 9.点击窗口右上解的保存按钮可以导出文件记录本次收集到的信息
 10.点击窗口右上解的导入按钮可以导入,文件记录的收集到的信息
 11.点击Deep Profile性能以收集自身编辑方法所消耗的性能
 
选择Hierarchy窗口,在右边栏搜索框中也可以搜索对应的方法查看.
 Totle : 当前方法占用当前模块总消耗量的百分比
 Self : 当前模块占自身代码占用的性能
 Calls : 被掉用的次数
 GC Alloc : GC allocation 垃圾回收机制,分陪了多少内存
 Time ms : 用了多少时间执行这个方法
 Self ms : 执行自身代码用的时间
在性能分析中,以下是调用了自身和别人的代码的边别.
 
12.使用Profiler.BeginSample及EndSample查看局部代码性能
 
在Profiler中搜索这个名字就能查看此段代码所消耗的性能.
 
13.Unity官方文档中可以查看更详细的内容
 https://docs.unity3d.com/cn/current/Manual/ProfilerWindow.html
14.调用栈CallStatcks
 调用栈是计算机在执行过程中记录调用的一种数据结构.
 以先进后出的的顺序记录每个函数被调用情况.
 
 勾选后可以在下面搜索内容.
 GC.Alloc表示GC的内存分配情况
 UnsafeUtility.Malloc用于在内存中分配未初始模块.只有在处理非托管内存的特定才场景下才会用到
 JobHandle.Complete.这里是完成Job System的特定任务.
