Unreal Insights概述

Unreal Insights概述。

Choose your operating system:

Windows

macOS

Linux

Unreal Insights 会识别出项目中需要优化的内容。它是一个遥测捕获和分析套件,为您提供以高数据速率从应用程序捕获事件的能力。

Unreal Insights的主要组成部分包括Trace事件、Unreal Trace Server(记录并保存来自应用程序的痕迹),以及Unreal Insights(分析并可视化数据)。

insights图

存储的跟踪会话是自描述类型的,并且向后兼容。它们保存在 .utrace 文件中。生成的伴生数据保存在跟踪文件旁的 .ucache 文件中。

设置Unreal Insights

构建 Unreal Insights 的时候,你有多个方式可选。

方式1:从文件浏览器启动Unreal Insights

检查你的引擎中是否已经内置了Unreal Insights,找到 Engine\Binaries\Win64\UnrealInsights.exe

Binaries文件夹下Unreal Insights可执行文件

方式2:从Visual Studio构建

在你的 解决方案资源管理器(Solution Explorer)程序(Program) 目录下,可以构建Unreal Insights。

从Visual Studio构建

方式3:使用命令提示符

找到 开始(Start) > 命令提示符(Command Prompt)然后从命令目录构建设Unreal Insights。

    cd C:\MyEngineInstallLocation\

    Engine\Build\BatchFiles\RunUBT.bat UnrealInsights Win64 Development

方式4:使用编辑器打开

要从 虚幻编辑器 中打开Unreal Insights,找到 工具(Tools) > Unreal Insights > 运行 Unreal Insights。Insights将会试图自动编译。

取决于虚幻引擎的版本和操作系统,运行Trace来配置项目数据时有多种工作流程可选。参考Trace以及Trace 快速入门指南来获取更多信息。

Trace

Trace 是一种结构化的日志记录框架,用于追踪正在运行流程中的仪表事件。

虚幻追踪服务器(Unreal Trace Server) 作为单个服务器实例在后台运行,并且可以在项目的多个实例之间共享。 它是轻量级程序,对性能的影响很小,并且不包含用户界面。它由 Engine/Binaries/Win64 目录中的独立服务器进程可执行文件 UnrealTraceServer.exe 启动。

文件资源管理器中显示的insights目录

跟踪服务器有两个功能。

Trace Recorder 在1981端口监听传入的跟踪连接并记录实时跟踪流。

  • Trace Store 会将记录的跟踪数据以文件形式存储在类似于 C:/Users/<user>/AppData/Local/UnrealEngine/Common/UnrealTrace/Store/001/ 的路径下。它会监视这个文件夹的变化,并向Unreal Insights UI公开可用的跟踪列表。

有关更多信息,请参阅TraceTrace快速入门指南,以及Trace开发者指南

Unreal Insights会话浏览器

启动Unreal Insights后,它将打开 Unreal Insight会话浏览器(Unreal Insight Session Browser) ,其中包含 Trace存储(Trace Store) 面板(1)、包含 Trace会话(Trace Sessions)的目录 (2)和 连接(Connection) 菜单面板(3)。

连接菜单窗口

连接(Connection)菜单(4)包含 Trace记录器IP地址 (5),一个 运行实例IP地址 (6),以及一个初始通道,应用与在连接后启动特定的跟踪。 (7)。

会话浏览器视图

工具启动时,Unreal Insights窗口会首先打开。在窗口的顶部,上面标记了 Trace会话(Trace Sessions),你将看到你可以加载以进行分析的所有预记录会话列表。这些对应了 Trace存储目录(Trace Store Directory) 中的 .utrace 文件。 你可以双击其中任一追踪会话,或选中一个追踪会话并点击 打开Trace(Open Trace) 。你也可以使用 打开Trace(Open Trace) 下拉箭头,在其他位置搜索 .utrace 文件。

要立即开始分析相应的追踪文件,请将 .utrace 文件从资源管理器拖放到Unreal Insights窗口。

如果实时Trace会话连接到该工具,它也会出现在列表中。实时会话将在状态栏中显示 LIVE 字样,并在你分析它们时实时更新,但是在其他方面与预记录会话相同。该工具可以同时连接多个会话,它会自动将所有会话的数据记录为数据流。你可以通过从列表中加载它们来实时分析这些会话(就像你使用预记录会话一样)。

Timing Insights窗口

Timing Insights 窗口可以收集性能数据。你可以看到沿 CPUGPU 轨道的不同轨道的每帧性能数据。时序(Timing)视图 中添加了新 工具栏 ,将轨道(Tracks)下拉菜单拆分为多个菜单,你可以在其中查看项目在各种任务上所花费时间的直观呈现。

你可以选择时间块来聚合查看数据、排列数据或将数据分类,以及查看日志输出。你可以显示或隐藏相应的面板。

Timing Insights窗口包含帧(Frames)面板(1)、时序(Timing)面板(2)、日志(Log)面板(3)、定时器(Timers)和计数器(Counters)选项卡(4),以及调用者(Callers)和被调用者(Callees)面板(5)。

请参考Timing Insights了解详情。

Memory Insights

Memory Insights 是新组件,可以让你调查项目中的内存使用情况和调用堆栈追踪。

运行时组件将追踪运行时发生的每个分配、重新分配事件或空闲事件,然后在分析期间重建该内存使用模式。

有关如何设置、追踪、查询和排列数据的说明,请参阅Memory Insights文档。

Networking Insights

Unreal Insights包含 (网络Insights)Networking Insights 功能,可分析,优化并调试网络流量数据。

请参考Networking Insights了解详情。

参考资料

为了最大程度使用 Unreal Insights 中的功能,你可以使用宏和命令行选项,自定义项目的输出。

请查看参考文档了解详情。

Slate Insights

Slate Insights 扩展了Unreal Insights,通过提供工具分析Slate和UMG的更新状态,帮助开发者确定UI的性能瓶颈。

请参阅Slate Insights了解详情。