原帖地址 http://gad.qq.com/content/coursedetail/7180616
Unity Profiler
Unity => Window=>Profiler
Profiler=>CPU 绿色渲染占用时间、蓝色逻辑代码、橙色物理模块、灰色GC占用时间
Unity => Winwodw =>Frame Debug 帧调试器渲染工作
测试尽量使用真机进行测试分析
在Editor中进行调试得到的结果偏大
性能问题:卡顿 耗电 发热 内存占用过高
卡顿 耗电 发热
CPU=> 1.GPU DrawCall过多 2.UI问题 3.代码逻辑开销
CPU=> 1.GPU Shader复杂 2.带宽问题
内存占用过高
内存占用过高 =>纹理,网格,动画,音频,mono堆内存
---------------------------------------------------------------------------
常见瓶颈
CPU => 渲染,UI,代码/加载,动画。物理
GPU =》 Shader,overdraw,阴影,光照
内存 =》 纹理,mono堆内存,assetbundle,音频,动画等
-------------------------------------------------------------------------------
CPU性能参考指标
帧率FPC 每秒绘制的帧数
30帧 没秒30毫秒时 比较OK的体验、每秒60帧是较好的体验 显示器的刷新帧率是每秒60帧
开启垂直同步可以让帧率和显示器的刷新频率保持一致
DrawCall
以使用OpenGL的为参考 在每次绘制模型之前准备好顶点数据,调用一系列的API来设置材质和参数等环境
然后unity调用一个OpenGL接口 GLDraw来告诉GPU开始渲染
每个DC 只能绘制65535个顶点 带宽很有限
----------------------------------------------------------------
GPU 性能诊断
透明物体 阴影 实时光照 屏幕后处理
透明物体overdraw查看
---------------------------------------------------------------
内存诊断
资源内存占用
unity引擎内存占用
mono托管堆内存占用
资源内存 占用
纹理资源 网格 材质 动画 音频 纹理资源 占用主要
内存推荐用量: 纹理资源50MB 、网格资源20MB 、 动画片段15MB 、 音源片段15MB 、 Mono堆内存40MB、其他10MB