Unity Profiler统计信息

下面分析这个统计信息的含义。

Time per frame:处理和渲染出一帧游戏画面所需要的时间,这里按我的理解反映的不是当前帧耗时,而是一段区间帧耗时的平均值。

FPS : Time per frame 的倒数,每秒绘制的帧数.

Batches: 引擎通过(batching技术)将多个物体的单一绘制(drawcall)进行合并来降低CPU 的负载。Batches 代表的是最终合并后的绘制(drawcall)次数。一般我们希望batches 越小越好。可以理解其为最终的drawcall次数。

关于batching 可以查看官方文档https://docs.unity3d.com/Manual/DrawCallBatching.html

Saved by batching:通过batching技术合并的绘制(drawcall)次数,这个越高,说明更多的绘制都被合并,从而降低CPU负载。

Tris and Verts :这个代表当前帧所绘制的三角形数量和顶点数量。这个事实上是gpu处理的三角形数量和顶点数量。一般我们一个很大的场景,我们在cpu 并不会把这么大一个场景的三角形和顶点都发给gpu去绘制,实际需要绘制的只是摄像机中视锥内少部分的三角形和顶点。Unity 默认视锥(view frustrum)会粗糙地剔除掉视锥外的物体(注意并不能剔除有部分在视锥内的物体,也不能只剔除三角形),如果有occlusion culling , 还可以剔除视锥内被遮挡的物体。最后我们再把最后剩下的物体发给GPU 绘制。视锥剔除使用的是包围盒,因此可能出现视锥中无物体,但因为视锥与包围盒相交,导致发送给gpu中也出现该物体,导致多一次冗余的drawcall。

Screen:分辨率为当前Gameview 的分辨率,1.7mb代表其在显存中占用的大小。

SetPass:这个与batches ,draw call 有联系但又有区别。Setpass 表示的是渲染状态的改变。一般每切换一次材质,就会有一次setpass。我们在当前渲染状态下,也就是这个材质下,可以绘制一次或多次物体。如果每一次setpass 就绘制一次,那么setpass 就和batches(最终的drawcall)次数一致。但是一次setpass 我们也可以绘制多次,这样的话setpass 就和batches不一致。我后面会通过一个实例来说明。

Shadow casters : 当前GameView下能够“生成阴影”的物体数量。场景中需有灯光GameObject ,且物体设置了Cast shadows On。经过了烘焙后,设为static的物体不会再影响shadow casters ,但skinned mesh render 中设置了cast shadows on 的会影响这个。

Visible skinned meshes:我发现这个数字显示的是Scene view 和Gameview 两个中可见的蒙皮网格数量。只有scene view 中蒙皮网格不可见,这个数字才能代表Gameview 中可见的蒙皮网格数量。那么什么是蒙皮网格?含有skinned mesh render 组件的就是一个蒙皮网格。蒙皮网格一般认为是可以随时间运动的,因此就算钩选了static也不会被静态批处理。钩选static据说在unity4中光照烘焙的时候有用,但在unity5 中钩选static也无法烘焙蒙皮网格(想要有类似烘焙的效果可以加入lightprobe)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你一身傲骨怎能输

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值