分析工具参考

用于监控游戏性能的分析工具总览。

Windows
MacOS
Linux

Profiler_Header.png

分析工具(Profiler) 是虚幻引擎 3 中 StatsViewer 工具的替代品,它收集并跟踪游戏数据,监控游戏性能。此数据可用于确定游戏中故障和速度减慢的原因。

如您对性能调试了解不多,请先查阅 性能及分析 文档,其中包含的技巧将指导您对游戏性能进行监控。

启用分析工具

启用 分析工具 并收集数据的方法有两种:

  1. 即时连接

    • 使用参数 messaging 运行游戏(如:**UE4Editor-Win64-Debug.exe messaging**)。

    • 使用参数 messaging 运行 UFE(如:**UnrealFrontend-Win64-Debug.exe messaging**)。

    • Window 菜单栏的 Developer Tools 部分选择 Session Frontend,然后选择 Profiler 标签。

  2. 加载之前采集的数据

    • 按下 Profiler 标签工具栏上的 Load 按钮并选择一个 .ue4stats 文件。

    • 将来自浏览器或其他文件管理器的 stats 文件放入 Profiler 窗口。

也可从 C:\Program Files\Unreal Engine\4.3\Engine\Binaries\Win64 文件夹运行单独的 UnrealFrontEnd.exe,以便访问 Session FrontEndProfiler 标签。(注意:上述路径中的版本号与您实际的版本号可能不一致)。

分析工具窗口

下图即为 Profiler 窗口和 UI 组件:

点击图片查看全图。

  1. 连接会话会话信息 窗口 - 用作获取 stats 数据的会话。

  2. 主工具栏 窗口 - 包含基础整体功能。

  3. 完整数据图表 窗口 - 包含 stats 图像展示的全貌。

  4. 数据图表 窗口 - stats 图像展示。

  5. 过滤预设 窗口 - 包含所有 stats 和群组(用户可对这些 stats 和群组进行过滤和排序)。

  6. 事件图表 窗口 - 以事件图表显示所选帧。

主工具栏

Profiler_MainToolbar.png

以下是 主工具栏 上每个操作的描述:

选项

描述

LoadIcon.png

加载 stats 文件。

SaveIcon.png

尚未应用此选项。

DataPreviewIcon.png

只用于即时连接,启用和连接会话/客户端的通信(启用后将点亮图标)。

LivePreviewIcon.png

只用于即时连接,启用数据图表视图即时同步(启用后将点亮图标)。

DataCaptureIcon.png

只用于即时连接,采集客户端上的数据。采集完成后,将弹出提示信息询问是否需要将采集数据传输到用户的设备。完成数据传输后将弹出提示信息加载 stats 文件。

StatisticsIcon.png

启用 Stats 分析工具

FPSChartIcon.png

显示 FPS Chart此选项的功能仍在完善中)。

SettingsIcon.png

打开 分析工具 的设置:启用/禁用 Single Instance ModeShow Coalesced View Modes in Event Graph

数据采集 文件保存在下列路径中 ...\UE4\Engine\Programs\UnrealFrontend\Saved\Profiling\UnrealStats\Received\...

过滤和预设

FilterPresetsWindow.png

以下是 主工具栏 上每个操作的描述:

选项

描述

搜索框 (1)

用于寻找 stat 文件,输入字符后,匹配的内容将在"Stats/群组"窗口中高亮显示。

分组方式 (2)

Stats 的分组方法,默认按群组名分组。

排序方式 (3)

群组中 stats 的排序方法,默认按名称排序。

Stats/群组窗口 (4)

显示 Stats 和群组。点击 Icon_Arrow.png 图标展开每个群组。高亮 Icon_Tag.png 图标显示 stat 信息。

Icon_Hier.png

切换显示层级 stats(也称作范围计数器)。

Icon_Float.png

切换显示浮点、双计数器和累加器。

Icon_Int.png

切换显示整数 stats、字计数器和累加器。

Icon_Mem.png

切换显示内存 memory stats (此选项功能仍在完善中).

如何追踪 Stats

追踪 stats 的方法有三种:

  1. 双击 选中的 stat,将其添加到 数据图表视图 的显示中(或从显示中移除)。

  2. 将其从 Stats/群组窗口 拖放数据图表视图 中(如下图所示)。

  3. 数据图表视图 进行 拖放

StatDragAndDrop.png

正在被追踪的 stat 以不同颜色显示,且名称旁带有"*"符号。

StatsWindowStatTracked.png

下列群组名后第二个括号中的数字代表群组正在被追踪的 stat 数量。

MainWindowStatTracked.png

上图的 Audio 群组中存在 11 个项目,有 1 个正被追踪。

数据图表

数据图表 视图显示所有被追踪的 stats。在 stats 的文本前按下(X)按钮即可停止追踪 stat。

ClickToStopTracking.png

Stat 的文本包含下列信息,详解如下:

StatDescriptionBreakdown.png

  1. (群组名) - Stat 的群组名。

  2. Stat 名称 - Stat 的名称。

  3. 实际值 - Stat 的实际值。

  4. 最小值 - 基于整体采集的最小值。

  5. 平均值 - 基于整体采集的平均值。

  6. 最大值 - 基于整体采集的最大值。

  7. 调用 - 此 stat 调用的帧数百分比(仅限分层数据)。

  8. 最小值 - 基于整体采集对此 stat 的最小调用数(仅限分层数据)。

  9. 平均值 - 基于整体采集对此 stat 的平均调用数(仅限分层数据)。

  10. 最大值 - 基于整体采集对此 stat 的最大调用数(仅限分层数据)。

以"仅限分层数据"表示的数值仅限显示分层数据。

数据图表 轴的解释如下:

  • 下 - 显示从初始的时间,自 0.0 开始。

  • 下 - 显示从初始的帧数量,自 0.0 开始。

  • 左 - 基于缩放比例显示关于时间的自适应信息(以毫秒为单位)。使用 **鼠标滚轮**,有三种预设轴,代表游戏 30、60、100 FPS 的运行速度,每个均以不同颜色显示。

  • 右 - 显示其他 stats(如浮点或内存)的自适应信息。此轴的大小与左轴不同,因浮点或内存数值通常大于时间相关的 stats。

数据图表 窗口中 单击右键 将出现带额外选项的快捷菜单:

DataGraphContextMenu.png

  • View Mode - 暂时只支持 **Index based** 模式(**Time based** 仅在 **分析工具** 的多会话模式中可用,尚处于实验阶段,默认为禁用)。

  • Select All Frames - 此选项可选中所有帧并更新 **事件图表视图**。

  • Live Preview - 此选项与主工具栏中的选项相同。

事件图表

EventGraphView.png

事件图表视图 由以下内容组成:

  1. 标题 - 显示当前连接的会话名称或当前加载的 stats 文件。

  2. 事件图表工具栏 - 用于 **事件图表** 过滤和其他功能。

  3. 函数细节 - 所选事件/函数的细节视图。

  4. 主事件图表 - 所选单帧或多帧的层级视图。

事件图表工具栏

EventGraphToolBar.png

以下是 事件图表工具栏 上每个操作的描述:

选项

描述

EG_Icon_OneFrame.png

数据图表 上选中一帧后才会被启用。

EG_Icon_Average.png

如在多帧在 数据图表 上被选中,将默认启用。这是一个每帧的平均图表。

EG_Icon_Maximum.png

如在多帧在 数据图表 上被选中,即可启用。这是最高的每帧图表。

EG_Icon_Hierarchical.png

以层级树视图显示 主事件图表 中的内容。

EG_Icon_Inclusive.png

在平展事件列表中显示 主事件图表 的内容,按 包含时间 排序。

EG_Icon_Inclusive2.png

在平展事件列表中显示 主事件图表 的内容,按 Event Name 合并,按 包含时间 排序。

EG_Icon_Exclusive.png

在平展事件列表中显示 主事件图表 的内容,按 独占时间 排序。

EG_Icon_Exclusive2.png

在平展事件列表中显示 主事件图表 的内容,按 事件名称 合并,按 独占时间 排序。

EG_Icon_HistoryBack.png

操作历史倒退按钮。

EG_Icon_HistoryForward.png

操作历史前进按钮。

EG_Icon_HistoryMenu.png

显示操作历史菜单。

EG_Icon_HotPath.png

基于包含时间展开所选事件的热路径,并启用按包含时间进行的降序排序(这是性能消耗最高的路径)。

函数细节

函数细节 显示用户所选函数/事件和执行所选函数/事件的调用函数之间的关系。这些关系通过按钮展示(这些按钮根据百分比数值相应缩放)。

用户可轻松地从上之下跟踪事件,寻找降低性能的因素。函数细节 视图以两种方式与 主事件图表 同步,因此选中一个新函数将同时选中 主事件图表 中的函数。

Function Details 由下列元素组成:

  • 调用函数 - 显示对所选函数进行调用的函数。控件尺寸基于百分比值缩放。

  • 当前函数 - 在 **主事件图表** 事件中当前选中的事件/函数。

  • 被调用函数 - 被所选函数调用的函数。控件尺寸基于百分比值缩放。

    • IconCulled.png - 显示此图标时,事件已在 **主事件图表** 窗口中剔除(下一部分中有更多详情)。

    • IconFiltered.png - 显示此图标时,事件已在 **主事件图表** 窗口中被过滤掉(下一部分中有更多详情)。

Icon_Tag.png 图标上悬停鼠标即可显示项目的额外信息。

主事件图表

MainEventGraphWindow.png

主事件图表 窗口显示事件执行路径。一个根不存在,但每个线程均拥有其自身的开始事件。它通常由线程的名称或线程的数字 ID 表明,例如"[0x1234]"。

利用 主事件图表 可对诸多其他函数进行过滤和剔除。这些函数列举在下方。在 主事件图表 窗口中 单击右键 并从出现的快捷菜单中选择所需操作后即可进行访问。

EventGraphContextMenu.png

选项

描述

Selection

显示所选事件名称。

EG_Menu_Icon_Root.png

Set Root - 设置所选事件的根并切换至等级视图。

EG_Menu_Icon_Culling.png

Cull Events - 基于 'ColumnName' 将事件剔除到 'Value'。仅"Inc Time (MS)"栏可用。这些事件将从图表中移除,其父项将显示 (IconCulled.png)(w:20 convert:false) 图标。为便于查找,按下此图标即可恢复剔除的事件。如剔除不可用,此选项为灰色。

EG_Menu_Icon_Filtering.png

Filter Events - 基于 'ColumnName' 过滤事件到 'Value'。仅"Inc Time (MS), Exc Time (MS), Calls"栏可用。这些事件在图表中显示为灰色。这些事件在图表中显示为灰色。如过滤不可用,此选项为灰色。

EG_Menu_Icon_Reset.png

Reset to Default - 将所选事件图表的 **Root**、**Culling** 和 **Filtering** 重置为默认状态,并清除操作历史。

EG_Menu_Icon_Expand.png

Expand All - 展开所有事件。

EG_Menu_Icon_Collapse.png

Collapse All - 重叠所有事件。

EG_Menu_Icon_ExpandSelection.png

Expand Selection - 将所选事件和子项展开。

EG_Menu_Icon_CollapseSelection.png

Collapse Selection - 将所选事件和子项重叠。

EG_Menu_Icon_ExpandThread.png

Expand Thread - 将所选线程和子项展开。

EG_Menu_Icon_CollapseThread.png

Collapse Thread - 将所选线程和子项重叠。

EG_Menu_Icon_ExpandHotPath.png

Expand Hot Path - 基于包含时间展开所选事件的热路径,并启用按包含时间进行的降序排序(这是性能消耗最高的路径)。

EG_Menu_Icon_HierarchicalView.png

Show in Hierarchical View - 切换至等级视图并展开所选事件。

EG_Menu_Icon_FlatInclusiveView.png

Show in Flat Inclusive View - 切换至平展包含视图并启用按包含时间进行的降序排序。

EG_Menu_Icon_FlatInclusiveView2.png

Show in Flat Inclusive Coalesced - 切换至平展合并,启用按包含时间进行的降序排序。

EG_Menu_Icon_FlatExclusiveView.png

Show in Flat Exclusive View - 切换至平展独占视图并启用按包含时间进行的升序排序。

EG_Menu_Icon_FlatExclusiveCoalesced.png

Show in Flat Exclusive Coalesced - 切换至平展独占合并视图并启用按包含时间进行的升序排序。

EG_Menu_Icon_CopyToClipboard.png

Copy to Clipboard - 将选项复制到剪切板。

EG_Menu_Icon_SelectStack.png

Select Stack - 选择叠列中的所有事件。

EG_Menu_Icon_SortBy.png

Sort By - 显示按特定栏排序和变更排序模式的菜单。

EG_Menu_Icon_ViewColumn.png

View Column [可用栏列表] - 展示用于隐藏/显示栏的菜单。

EG_Menu_Icon_ResetColumns.png

Reset Columns to Default - 恢复栏的默认设置。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback