为充分利用 Unreal Insights 附带的众多功能,用户可以用宏和命令行选项自定义项目输出。同时用户可以使用鼠标和键盘输入快捷方式更高效地浏览Insights窗口。
Trace
Trace是一个结构化的日志框架,用于跟踪运行中的进程中的测量事件(instrumentation event)。
宏
根据要在Unreal Insights工具中查看的数据,参照下表确定想要调整的宏:
宏名称 | 默认状态 | 源文件 | 区域说明 |
---|---|---|---|
UE_TRACE_ENABLED |
开启 | Engine/Source/Runtime/TraceLog/Public/Trace/Config.h |
整个系统的主控 |
LOGTRACE_ENABLED |
开启 | Engine/Source/Runtime/Core/Public/Logging/LogTrace.h |
控制是否向Unreal Insights报告日志消息 |
MISCTRACE_ENABLED |
开启 | Engine/Source/Runtime/Core/Public/ProfilingDebugging/MiscTrace.h |
控制书签、帧、线程和线程组的追踪 |
CPUPROFILERTRACE_ENABLED |
开启 | Engine/Source/Runtime/Core/Public/ProfilingDebugging/CpuProfilerTrace.h |
控制CPU定时器和时间事件的追踪 |
LOADTIMEPROFILERTRACE_ENABLED |
开启 | Engine/Source/Runtime/CoreUObject/Public/Serialization/LoadTimeTrace.h |
控制加载资产相关事件的追踪 |
EXPERIMENTAL_STATSTRACE_ENABLED 和 STATSTRACE_ENABLED |
关闭 | Engine/Source/Runtime/Core/Public/Stats/StatsTrace.h |
控制统计信息计数器的追踪 - 将两个宏都定义为“1”来激活 |
PLATFORMFILETRACE_ENABLED |
关闭 |
Engine/Source/Runtime/Core/Public/ProfilingDebugging/PlatformFileTrace.h |
控制文件活动(例如打开、关闭、读取和写入文件)的追踪 |
GPUPROFILERTRACE_ENABLED |
开启 | Engine/Source/Runtime/RHI/Public/GpuProfilerTrace.h |
控制GPU定时器和时间事件 |
UE_NET_TRACE_ENABLED |
开启 | Engine\Source\Runtime\Net\Core\Public\Net\Core\Trace\NetTrace.h Engine\Source\Runtime\Net\Core\Public\Net\Core\Trace\Config.h |
控制网络数据包内容的追踪 |
命令行选项
以下命令行选项与宏相结合可启用追踪数据:
命令行选项 | 用途 | 说明 |
---|---|---|
-statnamedevents |
CPUPROFILERTRACE_ENABLED |
若结合 -trace=cpu ,此选项将激活更多CPU时间事件。 |
-trace |
-trace=channel1,channel2,... |
将事件分类到命名组中,管理生成的追踪数据数量 -trace=cpu,frame,bookmark 启用CPU分析器事件、帧标记和书签。` |
-tracehost |
tracehost=X |
-tracehost 的更多详情,请参阅Unreal Insights介绍。 |
可用追踪通道包括:
- Log
- Bookmark
- Frame
- CPU
- GPU
- LoadTime
- File
- Net
已移除的命令行选项
以下命令行选项已移除:
命令行选项 | 所需宏 | 作用 |
---|---|---|
-cpuprofilertrace |
CPUPROFILERTRACE_ENABLED |
使用此选项运行时,将用包含时间事件的多个CPU线程轨迹填充时间视图。 |
-filetrace |
PLATFORMFILETRACE_ENABLED |
对于使用此选项生成的追踪,Unreal Insights工具的定时器选项卡中将有两个I/O活动轨迹,可按“I”键或在“轨迹(Tracks)”下拉菜单中启用“I/O轨迹(I/O Tracks)”以查看这两个轨迹。此功能在4.23版中属实验性功能。 |
-loadtimetrace |
LOADTIMEPROFILERTRACE_ENABLED |
此选项导致资产加载信息窗口包含“加载-主线程”轨迹和“加载-异步线程”轨迹。 |
UnrealInsights.exe的命令行选项
命令行选项 | 用法 | 描述 |
---|---|---|
-OpenTraceId |
-OpenTraceId=id |
强制Unreal Insights开始在“查看器模式”下分析指定ID |
-OpenTraceFile |
-OpenTraceFile=file.utrace |
强制Unreal Insights开始在“查看器模式”下分析指定文件 |
-Store |
-Store=address:port |
将浏览器连接到指定追踪存储区 -StoreHost=address 和 -StorePort=port 。 |
实验性统计数据和计数器
计数器标签页可以显示来自两个API源的计数器:
API源 | 示例 | 命令行参数 | 注释 |
---|---|---|---|
统计数据 | TRACE_STAT_* macros |
-trace=frame,stats,... -statstrace 。 |
在 Engine\Source\Runtime\Core\Public\Stats\StatsTrace.h 中用 #define EXPERIMENTAL_STATSTRACE_ENABLED 1 启用。 |
计数器 | TRACE_COUNTER_* 宏 |
-trace=frame,counters,... -counterstrace . |
见 Source\Runtime\Core\Public\ProfilingDebugging\CountersTrace.h 。 |
输入快捷方式
Timing Insights窗口
以下鼠标和键盘命令有助于更高效地浏览Timing Insights:
帧面板
输入快捷方式 | 功能 |
---|---|
鼠标左键点击 | 选择帧 |
鼠标右键点击 | 打开快捷菜单 |
鼠标左/右拖动v | 水平缩放 |
鼠标滚轮 | 水平缩放 |
Shift + 鼠标滚轮 | 垂直缩放 |
时间面板输入快捷方式
输入快捷方式 | 功能 |
---|---|
鼠标左/右拖动 | 水平或垂直平移 |
Ctrl + 鼠标左/右拖动 | 水平平移 |
Shift + 鼠标左/右拖动 | 垂直平移 |
鼠标滚轮 | 缩放 |
Ctrl + 鼠标滚轮 | 水平滚动 |
Shift + 鼠标滚轮 | 垂直滚动 |
鼠标右键点击 | 打开快捷菜单 |
鼠标左键点击时间事件 | 选择时间事件 |
鼠标左键点击空白处 | 取消选择 |
Ctrl + 鼠标左键双击 | 选择选定时间事件的时间范围 |
鼠标在时间标尺上左右拖动 | 选择时间范围 |
F | 框住上个选择,然后选择框住时间范围或时间事件 |
G | 切换图表轨迹可视性,显示游戏和渲染帧,包括计数器系列的placeholder。 |
Y | 切换GPU时间轨迹可视性 |
U | 切换CPU时间轨迹可视性 |
I | 切换I/O概览和活动轨迹可视性 |
O | 切换I/O活动轨迹中文件活动的背景事件可视性 |
L | 切换资产加载轨迹可视性 |
C | 在正常和紧凑模式之间切换,影响时间事件的显示方式 |
V | 自动隐藏空白时间轴 |
B | 切换书签可视性 |
M | 切换时间标记可视性(所有追踪日志,而非只是书签) |
D | 启用下采样 |
-/+ | 缩放 |
Ctrl + 左/右/上/下箭头 | 水平和垂直平移 |
左/右/上/下箭头 | 选择时间事件的上一或下一同级项/父项/最大子项 |
Enter | 选择选定时间事件的时间范围 |
Networking Insights窗口
以下鼠标和键盘命令有助于更高效地浏览Networking Insights:
输入快捷方式 | 功能 |
---|---|
鼠标左键点击数据包 | 选择对应数据包 |
Shift + 鼠标左键点击不同数据包 | 选择一组数据包 |
Ctrl + A | 选择所有数据包 |
左/右箭头 | 选择上个/下个数据包 |
Shift + 左/右箭头 | 向左/右侧扩展选择(多个数据包) |
Ctrl + Shift + 左/右箭头 | 从左/右侧收缩选择(多个数据包) |
双击事件 | 高亮显示数据包内容视图中所有包含该事件的数据包,并屏蔽所有其他事件 |