unity profiler深入学习3:cpu usage profiler

本文探讨了帧率与游戏性能之间的关系,分析了不同帧率设置对游戏体验及设备发热的影响,并介绍了Unity中使用CPU Usage Profiler进行性能分析的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

帧率越低,一帧渲染时间就越长,表现起来就越缓慢,卡顿,但是渲染次数降低,设备的发热量就会越小。相反帧率越高,一帧渲染时间就会越短,表现起来就会越流畅,但是渲染次数增大,设备的发热量就相对越大,所以一般游戏帧率控制在30帧,也就是每隔33毫秒渲染一次,流畅度和发热量相对都是最优。cpu usage profiler性能分析工具就是告诉我们每一帧各个任务调度耗费的时间,找出耗时任务并予以解决,达到在目标帧率对应的的时间周期内完成一帧的绘制操作,保持帧率的稳定。

Profiler界面操作:
这里写图片描述
1.cpu usage profile主要包含了渲染,脚本,物理引擎操作,垃圾回收,垂直同步,gi以及其他操作,每一个模块都用特定的颜色表示,并在profiler视图中显示出来。
2.profiler视图中按照每一帧进行显示时间消耗数据信息,选择某一帧时就会显示当前选择帧的各个统计模块的时间消耗,而当前帧的总消耗时间就是在该视图底部进行统计显示。

层级视图操作:
这里写图片描述
1.该视图就是用来查看当前选中帧各个任务模块的具体时间消耗,我们可以从中更加深入的分析并解决时间消耗久的任务。
2.视图中操作面板简介:
Total ms:当前任务在当前帧内的耗时总时间。
Self ms:当前任务自身(不包含内部的子任务)时间消耗。
Total:当前任务的时间消耗占当前帧cpu消耗的时间比例。
Self:任务自己时间消耗占当前帧cpu消耗的时间比例。
Call:当前任务在当前帧内被调用的次数。
GC Alloc:当前任务在当前帧内进行过内存回收和分配的次数。
Waring:当前任务用到可能造成性能问题的操作调用次数,一般而言该操作会造成性能问题,但并不一定会出现,所以一般慎用Waring对应的操作。
3.选中视图中的一个任务就会在profiler视图中高亮该任务的绘制信息,再次选中就会取消高亮。
4.垂直同步(VSync)会同步游戏帧率以及屏幕的刷新率,会对任务耗时分析造成影响,所以我们最好关闭垂直同步功能,关闭方式如下图所以:
1.点击垂直同步小方框进行取消绘制
这里写图片描述
2.在project setting->quality->v sync count->don’t sync进行取消绘制
这里写图片描述

时间线视图操作:
这里写图片描述
1.该视图主要是cpu执行哪些任务以及任务被哪些线程执行,线程分为三种:主线程,渲染线程和工人线程,知道每个线程的执行时间就可以对耗时久的线程上面的任务进行优化处理。

参考网址:
1.https://docs.unity3d.com/540/Documentation/Manual/ProfilerCPU.html
2.http://www.cnblogs.com/alan777/p/6135703.html

### 如何使用 Unity Profiler 进行性能分析 #### 了解 Unity Profiler 工具 Unity 提供了名为 Profiler 的强大工具,用于帮助开发者识别并解决应用程序中的性能瓶颈。该工具有助于深入理解程序各部分的执行情况,从而做出针对性优化[^2]。 #### 启动与配置 Profiler 为了启动 Profiler,在编辑器窗口顶部菜单栏找到 `Window` -> `Analysis` -> `Profiler` 即可打开此面板。初次开启时,默认显示的是最近一次播放模式下的数据记录;如果希望获取当前正在运行项目的实时信息,则需确保项目处于 Play 模式下,并勾选左上方的 "Deep Profile" 选项来收集更加详尽的数据[^1]。 #### 主要功能模块解析 - **CPU Usage**:展示 CPU 上各个系统的占用率,包括脚本、动画、物理计算等方面; - **Rendering**:涉及图形渲染过程的各项指标统计,如绘制调用次数(Draw Calls),三角形数量(Triangles)等; - **Memory**:监控堆内存分配状况,对于排查潜在泄漏问题至关重要; - **Audio/Video/GPU Jobs/etc.**:其他子系统的表现概况也会被纳入监测范围之内。 #### 实际操作指南 当面对特定场景想要捕捉其完整的性能特征时,可以点击下方红色按钮开始录制一段时间内的活动日志。结束后通过拖拽滑块来回放整个流程,观察不同阶段各项参数的变化趋势。另外值得注意的一点是在移动平台上做性能测试的话,还可以借助 ADB 命令让 Android 设备上的应用连接到本地计算机来进行远程调试[^4]。 ```bash adb connect <device_ip>:<port> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值