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

来源:互联网 发布:三丰cmm编程视频 编辑:程序博客网 时间:2024/05/06 05:51

运用内置分析器测定功用

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 帧,一切废物收回经过的总时刻(毫秒)。
装备
 iOS
iOS 默许禁用分析器。如需发动,有必要打开 Unity 生成的 XCode 工程。挑选 iPhone_Profiler.h 文件并将

#define ENABLE_INTERNAL_PROFILER 0

一行更改为

#define ENABLE_INTERNAL_PROFILER 1

在 XCode 菜单栏中挑选检查 (View) > 调试区 (Debug Area) > 激活控制台 (Activate Console),显现输出的控制台 (GDB),然后运转您的工程。Unity 将每 30 帧向控制台窗口输出计算信息。

 Android
Android 默许启用分析器。只需在构建时勾选播放器设置中的开发构建 (Development Build),发动设备时,计算资料将显现在 logcat 中。如需检查 logcat,您需求 adb 或 Android Debug Bridge。若契合条件,运转 shell 命令adb logcat 即可。


本教程文章由游戏蛮牛Cocos2D教程整理推荐




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 16个月宝宝不肯吃饭怎么办 儿童不吃饭很瘦怎么办 小孩吃饭吃的少怎么办 宝宝突然晚上不睡觉怎么办 l岁宝宝吃多了怎么办 3个月婴儿厌食怎么办 11个月婴儿厌食怎么办 7个月的婴儿厌食怎么办 小孩记忆不好读书记不住怎么办 9岁儿童不爱睡觉怎么办 6岁儿童不爱吃饭怎么办 2岁半宝宝不吃饭怎么办 一年级的孩子不爱学习怎么办 小孩不爱写作业怎么办啊 孩子不爱看书怎么办如何教育 2岁宝宝不爱看书怎么办 儿媳妇比儿子年龄大我不喜欢怎么办 不喜欢儿子却生了儿子怎么办 静不下心来看书怎么办 孩子爱玩不爱学怎么办 孩子爱玩不爱学习怎么办 孩子爱玩手机不爱学习怎么办 照四维宝宝太活泼了怎么办 胎宝宝太活泼了怎么办 7个月宝宝太活泼怎么办 我是个初中生不想上学怎么办 3岁宝宝不肯说话怎么办 两周宝宝不爱吃饭怎么办 小孩不喜欢吃水果蔬菜怎么办 孩子对学习不感兴趣怎么办 幼儿园老师不喜欢我孩子怎么办 孩子数学不主动思考问题怎么办 孩子做事慢磨蹭家长应该怎么办 孩子不写作业怎么办啊 对孩子在校被欺怎么办 二年级的孩子不爱学习怎么办 孩子不爱学习怎么办二年级 二年级孩子不爱写作业怎么办 孩子喜欢的朋友家长不喜欢怎么办? 孩子不喜欢上幼儿园家长怎么办 孩子不喜欢家长学佛怎么办呢?