运用内置分析器测定功用
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 帧废物收回经过的数量。
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资讯整理推荐