项目优化:Unity Profiler 使用
这篇笔记整理了 Unity 自带性能分析工具 Profiler 的基础用法, 包括如何打开窗口、常用分析模块(CPU、GPU、Memory、Rendering)能看什么, 以及如何通过 Timeline 和 Hierarchy 视图来定位项目中的性能瓶颈。
适用场景:项目需要做 整体性能体检,或已经出现卡顿、帧率不稳定等问题时。
一、打开方式
菜单路径:Window → Analysis → Profiler

打开窗口后你可以:
- 直接在 Editor 中运行游戏并观察实时曲线;
- 也可以通过顶部的下拉列表连接真机或其他运行中的 Player。
当连接成功时,上方会开始滚动显示每一帧的采样结果。
二、常用模块总览
Profiler 顶部的下拉栏中可以勾选要查看的模块,例如:
- CPU Usage:脚本、渲染、物理、GC 等占用;
- GPU Usage:GPU 渲染阶段耗时;
- Memory:内存分配情况(贴图、Mesh、音频、GC 堆等);
- Rendering:批次、SetPass、DrawCall 等渲染相关指标。
你可以通过 Modules 面板勾选 / 取消某些模块,这样能专注在当前需要分析的部分。
三、CPU 模块:找出最耗时的逻辑

在 CPU Usage 中,曲线会按类别分色显示,例如:
- Rendering(渲染)
- Scripts(脚本)
- Physics(物理)
- Garbage Collector(GC)
- UI、Global Illumination、Others 等
常见用法:
- 在曲线区点击一帧,锁定这帧的采样数据;
- 通过底部的 Timeline 或 Hierarchy 观察这帧的详细结构;
- 关注耗时最高的几个函数或系统,作为第一批优化目标。
如果看到 GC Alloc 持续在非零波动,说明每帧都有新的托管内存分配,
需要检查是否有频繁 new、闭包捕获或 string 拼接等。
四、GPU、Memory、Rendering 模块要点
1. GPU Usage
GPU 模块会展示各个渲染阶段(如 Shadows、Opaque、Transparent 等)的耗时分布。
用途:
- 判断卡顿是否主要由 GPU 过载引起;
- 结合 Rendering 模块,分析是否是过多的像素填充、过度复杂的 Shader 等问题。
2. Memory
Memory 模块提供整体内存占用趋势,适合快速确认:
- GC 堆是否在不断变大;
- 贴图、Mesh、音频资源是否异常增长;
- 是否存在加载后未释放的场景或资源。
如果需要更细粒度分析,可以配合 Memory Profiler 包使用。
3. Rendering
Rendering 模块重点关注:
- Batches / SetPass Calls / Draw Calls;
- 渲染对象数、动态批处理、SRP Batcher 的启用情况;
- 是否存在某一帧骤增的渲染调用。
这些信息有助于判断需要从 合批、LOD、裁剪、减少 overdraw 等方向入手。
五、Timeline 与 Hierarchy:深入具体帧
在 Profiler 底部区域,可以在 Timeline 与 Hierarchy 两种视图间切换:
1. Timeline 视图
在 Timeline 中,一帧会被拆分为一条条横向的「小条」,每条代表一个系统或函数的执行片段:
- 横向长度代表耗时;
- 嵌套结构可以清晰看到调用层级;
- 鼠标悬停可查看该片段的详细信息(耗时、调用次数等)。
常用技巧:
- 选中 CPU Usage 中波峰较高的一帧,然后切到 Timeline;
- 看哪一段条形区域特别长(例如 Scripts、Physics 等), 再展开逐级寻找最耗时的函数。
2. Hierarchy 视图
Hierarchy 会以树形列表展示当前帧的采样:
- 可以按「总耗时」「自身耗时」排序;
- 方便找到最耗时的函数或模块;
- 展开节点可以看到函数调用链。
典型流程是:Timeline 决定看哪一块,Hierarchy 找出具体是谁慢。
六、实践建议
- 做性能优化时,先用 Profiler 观察一段「真实玩法」过程,记录多个峰值帧;
- 优先关注「持续占据较高耗时」的模块,而不是偶尔的单帧尖刺;
- 找到瓶颈后,针对性地在对应系统(脚本、渲染、内存)做实验和改动;
- 优化之后,再用同样的测试流程跑一遍 Profiler,对比优化前后的帧时间变化。
Profiler 是 Unity 项目优化中最基础而又最重要的工具之一。 熟练掌握它的各个模块与视图,可以在后期节省大量「猜问题」的时间。
版权声明:本文最初发布于 CSDN「uniGame」,遵循 CC 4.0 BY-SA 协议,转载请附上原文链接及本声明。
原文链接:https://blog.csdn.net/alla_Candy/article/details/133344430