版本:Unity 6 (6000.0)
语言:English
浏览 CPU 使用情况分析器模块
内存性能数据

CPU 使用情况分析器模块参考

CPU 使用情况 分析器一个帮助您优化游戏的窗口。它显示在游戏各个方面花费的时间。例如,它可以报告渲染、动画或游戏逻辑所花费的时间百分比。 更多信息
参见 术语表
模块分为 分析器窗口 上半部分的图表,并在窗口下半部分的详细信息窗格中具有时间线和层次结构视图。

Profiler window with a frame in the CPU Usage Profiler module selected. The Timeline view is selected in the details pane.
分析器窗口,其中选择了 CPU 使用情况分析器模块中的一个帧。详细信息窗格中选择了时间线视图。

图表类别

CPU 使用情况分析器模块的图表跟踪应用程序主线程上花费的时间。

图表 描述
渲染 应用程序在渲染图形上花费的时间。
脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间推移修改组件属性并以任何您喜欢的方式响应用户输入。 更多信息
参见 术语表
应用程序在运行脚本上花费的时间。
物理 应用程序在物理系统上花费的时间。
动画 应用程序在为蒙皮 网格Unity 的主要图形基元。网格构成 3D 世界的很大一部分。Unity 支持三角形或四边形多边形网格。Nurbs、Nurms、细分曲面必须转换为多边形。 更多信息
参见 术语表
渲染器、游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的其功能由附加到它的组件定义。 更多信息
参见 术语表
和应用程序中的其他组件进行动画处理上花费的时间。这也包括在动画和 动画器组件模型上的一个组件,使用动画系统为该模型设置动画。该组件引用一个控制动画的动画控制器资源。 更多信息
参见 术语表
使用的系统计算上花费的时间。
垃圾收集器 应用程序在运行 托管垃圾收集器 上花费的时间。
垂直同步垂直同步 (VSync) 是一种显示设置,它将游戏的帧速率限制为与显示器的刷新率匹配,以防止图像撕裂。
参见 术语表
应用程序每帧等待 targetFrameRate 或下一个 VBlank 以同步的时间。为了确定垂直同步值,Unity 使用 QualitySettings.vSyncCount 值、目标帧速率或应用程序正在运行的平台的默认或强制最大垂直同步值。有关垂直同步的更多信息,请参阅 分析器标记文档
全局照明一组模拟直接和间接照明以提供逼真的照明效果的技术。
参见 术语表
应用程序在照明上花费的时间。
UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
参见 术语表
应用程序在显示其 UI 上花费的时间。
其他 应用程序在不属于任何其他类别的代码上花费的时间。这包括整个 EditorLoop 或在 播放模式下分析 时分析开销等区域。有关更多信息,请参阅 播放模式和编辑器示例

模块详细信息窗格工具栏

选择 CPU 使用情况模块时,详细信息窗格会显示应用程序在选定帧中花费时间的细分。使用详细信息窗格顶部的 工具栏Unity 编辑器顶部的按钮和基本控件行,允许您以各种方式与编辑器交互(例如缩放、平移)。 更多信息
参见 术语表
来浏览视图。

属性 描述
时间数据视图下拉菜单 选择以时间线或分层表格的形式显示时间数据。要更改显示,请使用详细信息窗格中的下拉菜单(默认设置为时间线)。
时间线 显示特定帧的时间细分,以及帧长度的时间轴。

这是唯一一个可以用来查看所有线程上时间,以及它们在帧内发生的时间的视图,以便您可以关联跨线程的时间。例如,作业系统 工作线程在主线程上的系统安排它们之后启动。
层次结构 按其内部层次结构对时间数据进行分组。此视图以降序列表格式显示应用程序调用的元素,默认情况下按花费的时间排序。您还可以按分配的脚本内存量或调用次数对信息进行排序。
原始层次结构 以类似于发生时间的时间调用堆栈的层次结构显示时间数据。在此模式下,Unity 会单独列出每个调用堆栈,而不是像在层次结构视图中那样合并它们。
反转层次结构 按分析器标记对样本进行分组,并以反转样本堆栈的形式显示它们。层次结构的第一级显示每个分析器标记的一个项目。

展开树中的项目以显示在其样本堆栈中包含此项目的标记。此选项有助于揭示由大量小性能影响实例引起的大型性能问题。在时间线或非反转层次结构视图中,此类问题可能更难发现。
实时设置 在播放模式或编辑器中记录新数据时,实时显示模块详细信息窗格中选定帧的数据。默认情况下,此设置处于禁用状态,并且在记录数据时,模块详细信息窗格为空白。

注意:当分析器窗口重绘时,此设置会增加 EditorLoop 的开销。
线程选择器(仅限层次结构视图) 使用“线程”下拉菜单选择特定线程,例如主线程或渲染线程以在这些视图中进行检查。
详细信息下拉菜单(仅限层次结构视图) 显示有关应用程序在何处调用和使用已分析函数的信息。
无详细信息 不显示任何额外信息
相关数据 显示使用 Begin 重载并与 分析器样本与分析器标记相关联的一组数据,分析器已记录和收集。
参见 术语表
关联的 UnityEngine.Objects 列表。
调用 显示从何处调用选定的样本以及它调用哪些其他函数。

更多 (⋮) 菜单设置

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

设置 描述
显示完整脚本方法名称 显示所有脚本方法的完全限定名称 (Assembly::Class::MethodName)。
显示流事件(仅限时间线视图) 显示系统、作业和线程之间的关系。启用此设置后,分析器会将白色事件标记添加到计划作业或等待计划作业完成的分析器样本中。它还会使不相关的样本变暗,以便更轻松地可视化您选择的样本。

选择样本时,分析器会使用线条将相关的流事件标记连接在一起。较粗的线条突出显示您选择的特定流线。例如,如果一个 begin 样本指向另外两个 next 样本,当您单击其中一个 next 样本时,分析器会绘制一条较粗的线条到该样本。

分析器向样本添加以下箭头类型
向下箭头 (▿) 指示流的开始,以及此样本已安排了一些工作。
向右箭头 (▹) 指示流中的下一个项目,以及其他样本已安排此项目。
向上箭头 (▵) 指示流的结束,以及工作已结束或在此样本上同步。
折叠 EditorOnly 样本(仅限层次结构视图) 在视图中显示 EditorOnly 样本。默认情况下,Unity 会折叠层次结构视图中的所有 EditorOnly 样本。EditorOnly 样本是在播放器循环中仅因编辑器专用安全检查而发生的样本。当样本被折叠时,它们的 GC.Alloc 值不会影响其封闭样本的 GC.Alloc 值。有关更多信息,请参阅 播放模式和编辑器示例

时间线工具提示

在时间线视图中选择样本时,所选样本上的工具提示会提供更多详细信息,例如此样本在所有线程上的实例数和总时间。您可以选择工具提示中的文本并将其复制,并使用按钮进一步与样本交互。

工具提示 描述
复制 将调用堆栈和工具提示的全部内容复制到剪贴板。
显示 选择此下拉菜单以在不同的上下文中查看样本
层次结构 将所选样本的视图更改为 层次结构 视图。
原始层次结构 将所选样本的视图更改为 原始层次结构 视图。
反转层次结构 将所选样本的视图更改为 反转层次结构 视图。
调用堆栈的完整详细信息 启用此属性以显示调用堆栈的方法指针地址的完整列表。

Unity 将调用堆栈记录为方法指针地址列表,它使用该列表显示堆栈的方法名称、文件路径和行号。每当只有指针地址存在时,Unity 都会忽略它以节省用于具有更多可用信息的可用操作项的屏幕空间。
选定的样本堆栈 查看样本堆栈的详细信息。Unity 会在单独的窗口中打开此信息。然后,您可以将样本堆栈信息复制到剪贴板。

样本堆栈与方法的调用堆栈不同,因为 Unity 不会将每个样本都绑定到特定方法,也不会将每个调用都记录为样本。如果您在不同的帧中选择了一个样本,并且在显示的帧中没有具有相同样本堆栈的样本,则此窗口将显示原始选择的样本堆栈以及此帧的大致选择。

层次结构列

层次结构视图为每个项目显示以下详细信息

描述
总计 Unity 在特定样本中花费的总时间,占总帧时间的百分比。
自身

Unity 在特定采样中花费的总时间,以总帧时间的百分比表示,不包括子采样的时间。
调用 在此帧中对该采样进行的调用次数。在“原始层次结构”视图中,此列中的值始终为 1,因为 Profiler 不会合并采样的层次结构。
GC 分配 Unity 在当前帧中分配的脚本堆内存量。垃圾收集器管理脚本堆内存。

有关托管堆的更多详细信息,请参阅有关 了解自动内存管理 的文档。
时间(毫秒) Unity 在特定采样中花费的总时间(以毫秒为单位)。

注意:如果您的应用程序使用 作业系统 或多线程渲染,则此信息可能具有误导性,因为它仅包含 Unity 在选定线程上花费的时间。要更改线程,请在层次结构窗格顶部选择“线程”下拉菜单。
自身时间(毫秒) Unity 在特定采样中花费的总时间(以毫秒为单位),不包括 Unity 调用子函数所花费的时间。
警告(⚠) 显示应用程序在当前帧中触发警告的次数。有关更多信息,请参阅 性能警告

其他资源

浏览 CPU 使用情况分析器模块
内存性能数据