Unity 用户手册iOS 功用优化运用内置分析器测定功用

运用内置分析器测定功用
Unity iOS 和 Android 都带有内置分析器。它包含在附加元件的一切版别中,而非专业版特有的功用。(但专业版附加元件的确配有愈加高档的分析器。)内置分析器从设备上正在运转的游戏中宣布控制台音讯。这些信息每 30 秒写入一次,让您深入知道供给游戏运转方法。知道这些信息的意义并非易事,但它们至少能够让您疾速断定游戏是 CPU 仍是 GPU 绑定,或者假如是 CPU 绑定,那么是 CPU 脚本代码仍是下降运转速度的 Mono 垃圾集合。您能够在本页稍后知道怎么装备内置的分析器。


分析器能告诉您啥
下面是一个内置分析器输出的实例。


iPhone/iPad Unity internal profiler stats:
cpu-player>    min:  9.8   max: 24.0   avg: 16.3
cpu-ogles-drv> min:  1.8   max:  8.2   avg:  4.3
cpu-waits-gpu> min:  0.8   max:  1.2   avg:  0.9
cpu-present>   min:  1.2   max:  3.9   avg:  1.6
frametime>     min: 31.9   max: 37.8   avg: 34.1
draw-call #>   min:   4    max:   9    avg:   6     | batched:    10
tris #>        min:  3590  max:  4561  avg:  3871   | batched:  3572
verts #>       min:  1940  max:  2487  avg:  2104   | batched:  1900
player-detail> physx:  1.2 animation:  1.2 culling:  0.5 skinning:  0.0 batching:  0.2 render: 12.0 fixed-update-count: 1 .. 2
mono-scripts>  update:  0.5   fixedUpdate:  0.0 coroutines:  0.0 
mono-memory>   used heap: 233472 allocated heap: 548864  max number of collections: 1 collection total duration:  5.7
一切时刻都是以毫秒/帧为单位。您能够检查最终 30 帧内的最小、最大和平均时刻。


General CPU Activity
cpu-player 显现游戏 Unity 引擎内部履行代码以及在 CPU 履行脚本所花费的时刻。
cpu-ogles-drv 显现在 CPU 上履行 OpenGL ES 驱动程序代码所花费的时刻。许多要素都能够影响驱动程序计算,如制作调用的数目、内部烘托状况的数目变化、烘托管线的设置,甚至是处置极点的数目。
cpu-waits-gpu 显现等待 GPU 完结烘托时刻,CPU 的闲置时刻。假如这个数字超越 2-3 毫秒,就最有能够说明运用程序是填充率/GPU 处置绑定。假如这个值太小,装备文件将越过显现此值。
msaa-resolve 运用抗锯齿所需时刻。
cpu-present 在 OpenGL ES 中履行 presentRenderbuffer 命令花费的时刻量。
frametime 代表游戏帧花费的总时刻。请注意,iOS 硬件一直锁定为 60Hz 刷新率,所以您总会得到 ~16.7ms (1000ms/60Hz = ~16.7ms) 的倍数时刻。
烘托计算
draw-call # 每帧制作调用的数量。尽能够坚持低值。
tris # 用于烘托的三角形总数。
verts # 用于烘托的极点总数。假如仅运用静态几何体,主张将这一数值坚持在 10000 以下。但假如运用许多蒙皮几何体,则应坚持更低的值。
batched 引擎主动批处置的制作调用、三角形和极点数量。将这些数字与制作调用和三角形总数比照,您将知道场景预备批处置的好坏程度。在目标平分享尽能够多的原料,以进步批处置。
具体的 Unity 播放器计算信息
播放器详情 (player-detail) 有些供给引擎内部运转的具体分化:-

physx 物理花费的时刻。
animation 骨骼动画花费的时刻。
culling 摄像机视景外除掉方针花费的时刻。
skinning 运用动画至蒙皮网格花费的时刻。
batching 批处置几何体花费的时刻。批处置动态几何体比静态几何体成本要愈加贵重。
render 烘托可见方针花费的时刻。
fixed-update-count 此帧中履行的 FixedUpdates 的最小和最大数量。过多的 FixedUpdates 将严重影响功用。此处供给了一些简略的指引,帮助您设置较好的固定时刻增量值。
具体的脚本计算信息
mono-scripts 有些供给了 Mono 运转时履行代码所花费时刻的具体分化:

update 在脚本中履行悉数 Update() 函数花费的时刻。
fixedUpdate 在脚本中履行悉数 FixedUpdate() 函数花费的时刻。
coroutines 脚本协同程序内部花费的时刻。
脚本分配的内存的具体计算信息
mono-memory 有些向您介绍了 Mono 废物收回器怎么办理内存:


allocated heap 可供分配的内存总量。假如给定的分配堆中内存不足,将触发废物收回。假如在收回之后,内存仍然不行,那么分配堆的容量将拓展。
used heap 当时方针用完的分配堆中的有些。每次创立新的类实例(不是布局体),这个数字都将添加,直到下一次废物收回。
max number of collections 最终 30 帧废物收回经过的数量。

collection total duration 最终 30 帧,一切废物收回经过的总时刻(毫秒)。


本Unity3d教程文章由游戏蛮牛unity3d资讯整理推荐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值