提示:仅供参考,有误之处,麻烦大佬指出,不胜感激!
文章目录
- 前言
- 一、Profiler打开方式
- 二、Profile简介
- 添加没有的模块
- 1.点击Profiler Modules(分析器模块)
- 2.勾选GPU即可
- 自定义模块
- 1.点击Profiler Modules(分析器模块)
- 三、怎么看懂这个分析器
- 举个栗子 查看CPU的使用情况,如下图:
- 再举个栗子 Rendering 的使用情况 如图:
- 四、发布到手机端后怎么查看
- 五、代码实现
- 总结
前言
Unity3D Profiler是一款强大的性能剖析工具,可以帮助开发者分析游戏中的性能瓶颈,以便进行优化。它可以监测游戏运行时的各种指标,如CPU、内存、GPU、网络等,同时还提供了多种图表和面板,方便开发者查看和分析数据。
不懂得地方,查看官方文档,点击帮助,如下图:
一、Profiler打开方式
在Unity3D中打开Profiler工具的方法很简单,只需要按下菜单栏的Window -> Analysis -> Profiler,就可以打开Profiler窗口。
二、Profile简介
Profile窗口默认展示了:CPU Usage(CPU使用情况)、GPU Usage(GPU使用情况)、Rendering(渲染)、Memory(内存)、Audio(音频)、Video(视频)、Physics(物理)、Physics(2D)(物理2D)、Network Messages(网络消息)、Network Operations、UI、UI Details、Global Illumination(全局光照)等。
添加没有的模块
比如想查看GPU的使用情况,需要手动添加。
添加方式:
1.点击Profiler Modules(分析器模块)
2.勾选GPU即可
自定义模块
1.点击Profiler Modules(分析器模块)
再点击 设置–>Add -->选择需要添加的模块,并修改自定义名称,流程如下图:
三、怎么看懂这个分析器
Profiler窗口中的图表和面板可以帮助我们分析游戏中的性能问题。例如,CPU Usage图表可以显示游戏中每个函数的CPU使用情况,帮助我们找到CPU占用较高的函数;Memory Usage图表可以显示游戏中各个对象的内存使用情况,帮助我们找到内存泄漏的对象;GPU Usage图表可以显示游戏中的GPU使用情况,帮助我们找到GPU瓶颈等等。
首先点击运行
举个栗子 查看CPU的使用情况,如下图:
为了方便举例,关闭了除开脚本和动画的其他属性。
一般情况,我们会选择峰值最高点来查看性能的使用情况。
如图所示,所选的那一帧 使用了2.96ms(毫秒)处理了脚本,0.00ms处理了动画(因为空场景没有动画)
再举个栗子 Rendering 的使用情况 如图:
可以很清楚的看到,当前帧处理的绘制调用(Draw Call)批次的总数:288,以及其他属性使用情况。也就是当前这一帧处理的绘制调用多少次数,来判断是否合理。是否需要优化Draw Call次数。
最下面的面板也清晰的显示了所有属性的使用情况。
四、发布到手机端后怎么查看
1.首先必须勾选 如下图:
2.手机数据线连接电脑
3.这个位置会出现你手机设备的选项,选择既可
最后运行分析的数据 就是手机端的数据了
五、代码实现
Unity3D Profiler不仅可以通过GUI界面使用,还可以通过代码实现。以下是一个简单的示例:
using UnityEngine;
using UnityEngine.Profiling;
public class MyProfiler : MonoBehaviour
{
void Start()
{
//开始剖析
Profiler.BeginSample("MyProfiler");
}
void Update()
{
//记录函数执行时间
Profiler.BeginSample("Update");
//do something
Profiler.EndSample();
}
void LateUpdate()
{
//记录函数执行时间
Profiler.BeginSample("LateUpdate");
//do something
Profiler.EndSample();
}
void OnGUI()
{
//记录函数执行时间
Profiler.BeginSample("OnGUI");
//do something
Profiler.EndSample();
}
void OnDestroy()
{
//结束剖析
Profiler.EndSample();
}
}
总结
好记性不如烂笔头