Version: 6000.3
语言: 中文
导航 CPU 使用率分析器模块
内存性能数据

CPU 使用率探查器模块参考

CPU 使用率分析器帮助您优化游戏的窗口。它显示了在游戏的各个领域花费了多少时间。例如,它可以报告渲染、动画制作或游戏逻辑所花费的时间百分比。更多信息
请参阅术语表
模块在“探查器”窗口的上半部分分为图表,并在窗口下半部分的详细信息窗格中具有时间线和层次结构视图。

“性能分析器”窗口,其中选择了“CPU 使用率分析器”模块中的一个框架。在详细信息窗格中选择“时间线”视图。
“性能分析器”窗口,其中选择了“CPU 使用率分析器”模块中的一个框架。在详细信息窗格中选择“时间线”视图。

图表类别

CPU 使用率探查器模块的图表跟踪在应用程序主线程上花费的时间。

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

模块详细信息窗格工具栏

选择“CPU 使用率”模块时,详细信息窗格会显示应用程序在所选帧中花费时间的位置的明细。使用工具栏Unity 编辑器顶部的一排按钮和基本控件,允许您以各种方式(例如缩放、翻译)与编辑器交互。更多信息
请参阅术语表
以导航视图。

财产 描述
计时数据视图下拉列表 选择将计时数据显示为时间线或分层表。若要更改显示,请使用详细信息窗格中的下拉列表(默认设置为“时间轴”)。以下视图可用:
  • 时间轴:显示特定帧的时序细分以及帧长度的时间轴。

    这是唯一可用于同时查看所有线程上的计时以及它们发生的帧内的时间的视图,以便您可以跨线程关联计时。例如,作业系统工作线程在主线程上的系统调度后启动它们。有关更多信息,请参阅时间轴视图
  • 层次结构(Hierarchy) :按其内部层次结构对计时数据进行分组。此视图以降序列表格式显示应用程序调用的元素,默认情况下按花费的时间排序。您还可以按分配的脚本内存量或调用次数对信息进行排序。
  • 原始层次结构:以类似于发生计时的调用堆栈的分层结构显示计时数据。Unity 在此模式下单独列出每个调用堆栈,而不是像在层次结构视图中那样合并它们。
  • 倒置层次结构:按以下方式对样本进行分组探查器标记放置在代码中,用于描述 CPU 或 GPU 事件,然后显示在 Unity 探查器窗口中。默认添加到 Unity 代码中,或者您可以使用 ProfilerMarker API 添加自己的自定义标记。更多信息
    请参阅术语表
    并用倒置的样品堆栈显示它们。层次结构的第一级显示每个探查器标记的项。

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

注意:此设置会增加
EditorLoop当 Profiler 窗口被重新绘制时。
线程选择器(仅限层次结构视图) 使用 线程(Thread) 下拉菜单选择特定线程,例如主线程(Main Thread) 或 渲染线程(Render Thread) 以在这些视图中进行检查。
详细信息下拉列表(仅限层次结构视图) 显示有关应用程序调用和使用分析函数的位置的信息。从以下选项中进行选择:
  • 无详细信息:不显示任何额外信息
  • 相关数据:显示以下列表UnityEngine.Objects使用Begin与探查器示例关联的重载。
  • 调用:显示所选样本的调用位置以及它调用的其他函数。

更多 (⋮) 菜单设置

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

设置 描述
显示完整的脚本方法名称 显示所有脚本方法的完全限定名称 (Assembly::Class::MethodName).
显示流事件(仅限时间轴视图) 显示系统、作业和线程之间的关系。启用此设置后,探查器会将白色事件标记添加到探查器示例中,以计划作业或等待计划作业完成。它还会使不相关的样本变暗,以便更轻松地可视化您选择的样本。
选择样本
时,Profiler 会将相关的流事件标记与线条连接在一起。较粗的线突出显示您选择的特定流线。例如,如果
beginsample 指向另外两个next示例,当您单击其中一个next采样时,Profiler 会为其绘制一条较粗的线。
探查器
将以下箭头类型添加到示例中:

  • 向下箭头 (▿):指示流的开始,以及此示例计划了一些工作。
  • 向右箭头 (▹):指示流中的下一个项目,并且其他示例计划了此项。
  • 向上箭头 (▵):指示流的结束,以及此示例上的工作已结束或同步。
折叠编辑器仅限示例(仅限层次结构视图) 显示EditorOnly示例。默认情况下,Unity 会折叠所有EditorOnly层次结构视图中的示例。EditorOnly 示例是播放器循环中的示例,仅由于仅限编辑器的安全检查而发生。当样本折叠时,其GC.Alloc值不有助于GC.Alloc其封闭样本的值。有关更多信息,请参阅播放模式和编辑器示例

时间轴工具提示

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

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

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

    示例堆栈与方法的调用堆栈不同,因为 Unity 不会将每个示例都绑定到特定方法,也不会将每个调用记录为示例。如果选择不同帧中的样本,并且显示的帧中没有具有相同样本堆栈的样本,则此窗口会同时显示原始选区的样本堆栈和该帧的近似选择。

层次结构列

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

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

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

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

附加资源

导航 CPU 使用率分析器模块
内存性能数据