Unreal Insights 是一个遥测捕获和分析套件,它可以从您的项目中以高数据率捕获事件。它可以识别出需要优化的数据区域。 Unreal Insights的主要组成部分为:
-
Trace事件, 包含了
事件名称
和字段名称
参数,用于定义一个事件并指定事件应包括的字段。 -
Unreal Trace Server ,用于记录并保存来自应用程序的踪迹。
-
Unreal Insights,对数据进行分析和可视化处理。

Unreal Insights框架的主要组件的可视化。
Trace会话是自描述的,并且与不同的引擎发布版本兼容。它们被存储在 .utrace
文件中。任何同时生成的数据都存储在与trace文件相同目录下的 .ucache
文件中。
设置Unreal Insights
从编辑器中启动
要从 虚幻编辑器 中启动Unreal Insights,请使用编辑器底部工具栏中的 Trace/Insights Status Bar Widget。

当运行Trace来解析您的项目数据时,你可以从多个工作流程选项中进行选择,这些选项因您的虚幻引擎构建和操作系统而异。 关于这些工作流程选项的更多信息。请参阅以下页面:
启用Unreal Insights的预构建。
如果你安装的是虚幻引擎的二进制版本,应该有一个位于以下目录中的Unreal Insights的编译版本:
Engine\Binaries[Platform]\UnrealInsights[.exe]
Build From Source
如果你没有安装二进制版本的引擎,或者你想从源代码编译Unreal Insights,您可以使用以下选项:
-
使用集成开发环境 (Integrated Development Enviroment IDE)。 找到位于 Programs 文件夹中的 UnrealInsights目标文件。.
-
在命令提示符中。 在您的引擎安装文件夹中使用虚幻构建工具构建Unreal Insights:
在Windows上:
Engine/Build/BatchFiles/RunUBT.bat UnrealInsights Win64 Development
在Linux或Mac上:
./Engine/Build/BatchFiles/RunUBT.sh UnrealInsights [Linux|Mac] Development
Trace
Trace 是一个结构化的日志框架,用于在运行的进程中追踪检测事件。Unreal Trace Server 作为单独服务器实例在后台运行,可以在多个项目或分支之间共享。它是一个经优化的程序,对性能的影响最小,且不包括用户界面。
Trace Server是由一个单独的服务器进程可执行文件 UnrealTraceServer.exe
自动启动的,它位于 Engine/Binaries/Win64
目录文件夹下。
Trace Server有两个主要组成部分:
-
Trace Recorder 在1981端口监听传入的跟踪连接并记录实时跟踪流。
-
Trace Store 记录的跟踪信息作为文件存储在一个文件夹中。它检测这个文件夹的变化,并在Unreal Insights的用户界面显示可用的追踪列表。
追踪文件夹的路径的一个例子是:
C:/Users/<user>/AppData/Local/UnrealEngine/Common/UnrealTrace/Store/001/
有关其他文件,请参阅以下页面:
Unreal Insights会话浏览器 (Unreal Insights Session Browser)
Unreal Insights会话浏览器 (Unreal Insights Session Browser) 是一个观察跟踪数据的界面。要启动浏览器,请导航到底部工具栏,然后点击 Trace > Insights > Unreal Insights (Session Browser.)
Trace Store
Trace Store 是一个供你观察和管理所有已存储的跟踪会话(Trace Sessions)的界面。 所跟踪记录以文件形式存储在一个文件夹中,Unreal Insights监测这个文件夹的任何数据变化,然后将可用的跟踪列表显示在Unreal Insights用户界面中。

数字索引 | 类别 | 描述 |
---|---|---|
(1) | Trace Store面板 | 打开并管理你的跟踪文件以进行分析。 |
(2) | Trace Story路径 | 显示并打开Trace Sessions的目录路径。 |
(3) | Trace Sessions | 列出你可以加载分析的预记录会话。它们与Trace Store Directory中的.utrace 文件对应。 你可以右键单击一个Trace Session来重命名或删除。你也可以使用快捷键:选择Trace Session并按 F2 重命名,或按 Del 删除。 |
(4) | Session过滤器 | 将你的跟踪文件按 平台、应用程序名称、配置、目标 和 分支 分类。 |
(5) | 搜索栏 | 通过指令行或名称过滤你的搜索。 |
(6) | 连接选项卡 | 设置与远程跟踪服务器的连接。 |
连接选项卡
连接选项卡允许你通过跟踪服务器连接到一个正在运行的游戏或编辑器。 它具有多个选项来改变你的连接设置。

数字索引 | 类别 | 描述 |
---|---|---|
(6) | 连接选项卡 | 管理远程运行的游戏或编辑器与跟踪服务器之间的连接。 |
(7) | Trace Recorder IP地址 | 跟踪服务器的IP地址。 |
(8) | 运行实例IP地址 | 与追踪服务器连接的项目(运行实例)的IP地址,以开始追踪数据。 |
(9) | Initial通道 | 用于指定跟踪连接开始分析数据时要启用的跟踪通道列表的字段。 |
加载一个分析用的Trace
加载一个分析用的Trace有多个选项可以选择。你可以:
-
双击Unreal Insights浏览器中的任何跟踪会话。
-
选择一个追踪会话,并点击 打开追踪(Open Trace)。
*通过使用 打开跟踪(Open Trace) 下拉箭头,在其他位置搜索.utrace
文件。
- 立即开始对各自的跟踪文件进行分析,从资源管理器中拖放一个.utrace文件到Unreal Insights窗口。

Live Connect
如果一个实时Trace会话连接到该工具,它也会出现在列表中。实时会话在状态栏中显示 LIVE 字样,并在你分析它们时实时更新。否则,它们与预先录制的会话是一样的。

该工具可以同时连接到多个会话,并在数据流进来时自动记录所有这些会话的数据。要实时分析这些会话,从列表中加载它们,与加载预先录制的会话的方式相同。
Timing Insights窗口
Timing Insights 窗口收集性能数据。它显示的是 CPU 和 GPU 轨道的数据。这些轨道具有多个子菜单,帮助你分类和可视化各种处理任务以及你的项目在执行这些任务时花费的时间。

Timing Insights窗口包括帧面板(1)、计时面板过滤器(2)、计时面板(3)、日志面板(4)、计时器和计数器标签(5)以及呼叫和被呼叫面板(6)。
Memory Insights
Memory Insights 组件允许你调查你项目中的内存使用情况和调用堆栈追踪。
Memory Insights对运行期间发生的每个分配、重新分配或空闲事件进行追踪,然后在分析期间重建该内存使用模式。
详见Memory Insights 文件,关于如何设置、跟踪、查询和分类数据的说明。
Networking Insights
Unreal Insights包括 Networking Insights 来分析、优化和调试网络流量。
详见Networking Insights获取更多文件。
Slate Insights
Slate Insights 扩展了Unreal Insights,帮助开发人员提高他们的用户界面的性能。它提供了一些工具来确定特定Slate和UMG更新的根本原因。
详见Slate Insights获取更多文件。
Asset Loading Insights
Asset Loading Insights 提供了一种解析项目的资产加载到UnrealEngine中所需时间的方法。 它可以让你详细了解每个资产类型的数据集。Asset Loading Insights基于从AssetLoadTime跟踪通道中跟踪到的数据。
Cooking Insights
Unreal Cooking Insights 允许您收集并显示关于您的项目中包的烘培方式的信息。长时间烘焙会大大影响正在进行大型项目的团队的生产力。通过显示每个包所需的时间,你可以观察哪些包需要重点调查并优化。 详见Cooking Insights获取更多文件。
参考
为了充分利用 Unreal Insights 的许多功能,您可以用宏和命令行选项来定制您的项目的输出。
详见Reference 获取更多文件