文档

Unity Engine

Unity Engine

Profiler 窗口参考

Reference for the main Profiler window.
阅读时间13 分钟最后更新于 1 个月前

Profiler 窗口具有以下部分:
  • 性能分析器模块:向窗口添加和删除模块,这些模块收集与应用程序相关的不同类型的数据。每个模块在窗口的上半部分都有自己的图表。
  • 性能分析器控件:在窗口顶部有一些控件可用于停止、启动和导航性能分析会话
  • 模块详细信息面板:Profiler 窗口的下半部分根据所选模块显示有关所选帧的详细信息。

在 CPU 使用分析器模块中选择的带有帧的 Profiler 窗口

性能分析器模块

使用下拉选单向性能分析器添加模块或从中删除模块。性能分析器模块在窗口上半部分的图表中逐帧显示随时间变化的性能数据。
选择性能分析器模块时,其图表将显示在 Profiler 窗口的上半部分。窗口的下半部分包含一个模块详细信息面板,其中显示与所选性能分析器模块相关的信息。首次打开性能分析器时,该区域为空白;开始对应用程序进行性能分析时,该区域中将填充信息。
有关更多信息,请参阅性能分析器模块简介。

模块

描述

Highlights显示有关应用程序是否满足其目标帧率以及其性能是否受 CPU 或 GPU 约束的信息。有关更多信息,请参阅突出显示性能分析器模块。
CPU Usage简要显示应用程序在哪些方面花费最多时间(比如物理、脚本、动画和垃圾收集等方面)。该模块包含有关应用程序的大量性能分析信息,您可以使用这些信息来决定进一步使用哪些其他模块来分析应用程序中的更具体问题。该模块始终处于激活状态(即使将其关闭)。有关更多信息,请参阅 CPU 使用分析器模块。
GPU Usage显示与图形处理有关的信息。默认情况下,此模块处于非激活状态,因为它的开销较大。有关更多信息,请参阅 GPU 使用量性能分析器模块。
Rendering显示有关 Unity 如何在应用程序中渲染图形的信息。有关更多信息,请参阅渲染性能分析器模块。
Memory显示有关 Unity 如何在应用程序中分配内存的信息。此模块有助于分析脚本分配如何引起垃圾收集或者是应用程序的资源内存使用量如何随时间变化。有关更多信息,请参阅内存性能分析器模块。
Audio显示应用程序中的音频相关信息,例如音频系统需要的 CPU 使用量以及 Unity 为其分配的内存量。有关更多信息,请参阅音频性能分析器模块。
Video显示应用程序中的视频相关信息。有关更多信息,请参阅视频性能分析器模块。
Physics显示应用程序中物理系统已进行的物理处理的相关信息。有关更多信息,请参阅物理性能分析器模块。
Physics (2D)显示应用程序中物理系统在哪里进行了 2D 物理处理的相关信息。有关更多信息,请参阅 2D 物理性能分析器模块。
UI显示有关 Unity 如何为应用程序进行 UI 批处理的信息,包括 Unity 对项目进行批处理的原因和方式。有关更多信息,请参阅 UI 和 UI 详细信息性能分析器模块。
UI Details此模块的图表添加有关批处理和顶点计数的数据,以及标记(包含有关触发 UI 变化的用户输入事件的信息)。有关更多信息,请参阅 UI 和 UI 详细信息性能分析器模块。
Realtime GI显示有关 Unity 在应用程序中的 Global Illumination 光照子系统中花费的 CPU 资源的信息。有关更多信息,请参阅 Global Illumination Profiler 窗口。
Virtual Texturing显示有关应用程序中 Streaming Virtual Texturing 的统计信息。有关更多信息,请参阅虚拟纹理性能分析器模块。
File Access显示有关应用程序中的文件访问的信息。有关更多信息,请参阅文件访问性能分析器模块。
Asset Loading显示有关应用程序如何加载资源的信息。有关更多信息,请参阅资源加载性能分析器模块。
Profiler module editor (⚙)打开性能分析器模块编辑器可自定义列表中的性能分析器模块。
Restore defaults选择恢复默认设置 (Restore Defaults) 可删除任何自定义性能分析器模块并将模块列表重新恢复为其默认顺序。

性能分析器控件

性能分析器控件位于 Profiler 窗口顶部的工具栏中。使用这些控件可开始或停止记录性能分析器数据以及浏览进行性能分析的帧。

属性

描述

Target Selection 下拉选单使用目标选择 (Target Selection) 下拉选单为性能分析器选择要收集数据的平台或播放器:
Search使用搜索栏查找播放器。可以按名称或设备类别进行搜索,例如 Remote。按类别搜索时,结果显示该类别中的所有设备。
Player Name显示 Unity 通过网络或直接连接检测到的任何正在运行的播放器。可以通过名称和运行播放器的平台(例如
iPhonePlayer (My iPhone)
)来识别这些播放器。可以在 Profiler Preferences 窗口中覆盖此名称。
Play Mode(默认)以播放 (Play) 模式对应用程序进行性能分析。这是默认值,但您可以在“偏好”中更改此行为。有关更多信息,请参阅收集播放模式下的性能数据。
Edit Mode对 Unity 编辑器进行性能分析并显示编辑器当前在使用的资源。有关更多信息,请参阅收集 Unity 编辑器的性能数据。
Direct Connection显示与计算机直接连接的所有设备。选择输入 IP (Enter IP) 可手动输入要对其应用程序进行性能分析的设备 IP 地址。有关更多信息,请参阅收集目标平台的性能数据。
Record (⏺)启用此设置可以在运行应用程序时记录活跃模块的性能分析信息。如果禁用此按钮,则在运行应用程序时,性能分析器不会收集任何数据。
Previous frame(向后箭头)向后导航一帧。
Next frame(向前箭头)向前导航一帧。
Current frame (⏭)单击当前帧 (Current Frame) 按钮时,帧指示线会跳到最后记录的那一帧,并且性能分析器进入当前帧模式。性能分析器在此模式下收集数据时,它会停留在当前帧上并实时显示收集的数据。再次单击该按钮将退出当前帧模式。
Frame number指示所选帧的数量。左边的数字是当前选择的帧,右边的数字是性能分析器在整个性能分析会话期间收集的总帧数。
Clear从 Profiler 窗口擦除所有数据。
Clear on Play启用此设置后,下次单击播放器 (Player) 窗口中的播放 (Play) 或连接到新的目标设备时,可从 Profiler 窗口擦除所有数据。
Deep Profile启用此设置可对所有 C# 方法进行性能分析。启用此设置后,Unity 会将检测功能添加到所有 Mono 调用中,然后便可以对脚本进行更详细的分析。有关更多信息,请参阅深度性能分析。
Call Stacks选择样本即可记录用于脚本内存分配的完整调用栈。启用此选项时,性能分析器记录的帧包含完整调用栈上所选样本的信息;即使在深度性能分析设置未激活的情况下,完整调用栈上的这些样本也会导致托管脚本分配。可以选择以下值,并同时激活多个选项:
GC.Alloc为所有托管内存分配启用调用栈。Unity 每次进行托管内存分配时都会发出
GC.Alloc
样本。
UnsafeUtility.Malloc (Persistent)为使用 Allocator.Persistent 进行的本机内存分配启用调用栈。虽然 Temp 和 TempJop 分配器速度更快,但它们只能进行短期的分配,并且为了让它们尽可能快,Unity 不会使用调用栈来检测它们。
JobHandle.Complete为使用
JobHandle.Complete
完成的作业启用调用栈。每当作业使用
Complete
时,都会在线程上导致空闲时间,因此为了优化代码,可以启用调用栈来查找同步点在代码中的发生位置。
Load(方形和箭头)将已保存的性能分析器数据加载到 Profiler 窗口中。还可以加载播放器通过 Profiler.logFile API 写出到文件的二进制性能分析数据。
Save ()将性能分析器数据保存到 Project 文件夹中的 .data 文件中。

More (⋮) 菜单设置

“更多”(More) 菜单包含以下设置:

设置

描述

Color Blind Mode启用此设置可使性能分析器在其图形中使用对比度更高的颜色。这样可以增强红绿色盲(例如绿色盲、红色盲或蓝色盲)用户的视觉感知度。
Show stats for "current" frame默认情况下,选择“当前帧”按钮并进入“当前帧”模式时,帧指示线不会显示当前帧统计信息的相关注释。这是因为统计信息注释可能导致难以实时查看数据。要显示注释,请启用此设置。
Preferences打开 Preferences 窗口可调整性能分析器专有的属性。

其他资源