FMOD Studio User Manual 2.02
FMOD Studio 的性能分析器可用于评估项目事件、调音和快照的性能和输出。可在 FMOD Studio 中进行本地分析,或通过 实时更新 连接到游戏,以便在运行时对其进行分析。
可通过单击“Window > Profiler”打开分析器窗口。
有关通过实时更新连接到游戏的信息,请参阅实时更新期间编辑一章。
性能分析器录音存在于会话之中。可以先保存性能分析器会话,并在以后查看和比较。
性能分析器窗口的会话浏览器可用于查看以前录制的会话、创建新会话并将其安放到文件夹中以便于访问。
此外,还可导出会话。这对于与其他音频团队成员或与FMOD Studio 支持分享遇到的任何问题的信息非常有用。为此,请在会话浏览器中右键单击录制的会话或文件夹,然后选择“包选择”。

在此对话框中,可选择是否将音频资源和/或事件库与会话捆绑在一起。这可用于与他人共享会话。
要录制新会话,请右键单击会话浏览器的空白区域并选择“新建会话”。这将创建一个新的空白会话。单击走带控制中用圆圈表示的“录制”按钮开始录制。如果没有在会话浏览器中主动选择会话,单击“录制”会自动创建一个新会话。
随即将看到生成的系统轨道,扩展后会显示波形数据和其他图形,以及主轨道。

完成捕获数据后,按传输栏中的“停止”按钮。
默认情况下,录制完成后,每个录制事件的轨道将自动添加到会话中。可通过将调音器轨道或事件轨道拖放到性能分析器会话的编辑器窗格中来显示它们。
可通过在首选项对话框的界面选项卡中启用“自动将事件轨迹添加到分析器会话”来改变事件轨道何时被添加到录制分析器会话中。可选择在录制时、录制后或仅在明确添加时添加事件轨迹。
此外,还可切换时间/节拍显示右侧的“连续缩放调整”按钮。启用后,分析器会话将随着录制时间的延长而自动缩小,以便整个录制的会话保持可见。
可录制 FMOD Studio 试听事件、沙盒会话,并分析已经录制的性能分析器会话。这对于分析项目的性能或比较在与先前录制的会话完全相同的环境中对项目所做的更改很有用。
当事件编辑器中正在播放事件时,或者当沙盒会话正在播放时,单击分析器窗口中的“录制”按钮。
选择要录制的性能分析器会话(“选项卡1”),并通过单击“查看”>“新建选项卡”(“选项卡2”),在分析器会话的编辑器窗格中打开一个新选项卡。然后,可在模拟模式下播放录制的性能分析器(“标签1”),并使用新标签(“标签2”)录制其回放。
录制会话后,可以像播放事件一样进行播放,并听到游戏的录制输出。显示瞬时值的区域(例如传输条和 3D 视图)对应于播放头位置。此外,还可使用循环区域来重复部分录音。
性能分析器中的每个事件或总线都会显示记录指标的图形。可通过单击走带控制中的主分析统计类别来切换绘制该事件或总线的哪个指标。

可将鼠标悬停在图形上,查看特定点的值。
性能分析器中可用的图形是:
波形: 仅在系统主轨道上显示。显示录制会话的波形。
CPU: 指示 CPU 消耗。不包括从游戏线程调用 update() 所花费的时间(理论上应该非常少)。FMOD Studio 还使用一些其他较小的工作线程(例如文件 I/O 线程),这些线程未包含在这些数字中。
CPU - 调音器 (%): 指示调音器线程所用时间的百分比。百分比表示相对于完成调音所需时间相比所花费的时间。例如,在调音块为 10 毫秒(512 个样本)的 XBox One 上,50% 的使用率表示调音器线程需要 5 毫秒才能完成。
CPU - 更新 (%): 指示 FMOD 引擎更新完成所需 20 毫秒 CPU 时间的百分比。这是因为 FMOD 引擎更新通常在其自己的线程中每 20 毫秒运行一次,但一些游戏项目则为每 10 毫秒更新一次。
内存(KB): 显示系统正在使用的 RAM。要使内存跟踪正常工作,必须使用 FMOD_STUDIO_INIT_MEMORY_TRACKING 标志初始化 FMOD Studio 系统。
内存 - 数据 (KB): 指示事件和总线所使用数据的总大小。对于一个事件,这包括该事件的所有实例的状态所消耗的内存,以及在该事件的实例中播放的所有流媒体实例所消耗的内存。
总线有两个图形。内存(自身)图形仅包括总线本身使用的内存,而内存(总)图形包括总线使用的内存和所有事件和路由到该总线的总线以及这些事件实例中流媒体使用的内存。。
对于系统主轨道,共有三个图形。内存(自身)图形仅包括主总线使用的内存; 内存(总)图形包括主总线使用的内存和项目中所有事件和总线以及流媒体使用的内存; 内存(总)图形包括内存(总)图形中包含的所有内存以及 FMOD studio 系统消耗的所有内存。
内存 - 样本 (KB): 指示加载到内存中的非流媒体样本的总大小。对于事件,这是加载到内存中可被该事件引用的所有样本数据的总数。对于主总线和系统主轨道,这是项目中加载的所有样本数据的总大小。对于所有其他总线,这是加载到内存中的所有样本数据的总大小,可由收发到该总线的事件引用。 非流式样本数据通常只加载到内存中一次,即使它在多个事件和事件实例中被引用,因此总线上列出的样本内存可能小于为收发到该总线的事件和总线列出的样本内存之和。
文件 I/O (KB): 仅在系统主轨道上显示。显示文件 I/O。一共有三个图形,分别是样本数据、流媒体数据和事件库元数据。
水平(dB): 指示事件或总线输出的响度。 线条代表峰值,纯色代表 RMS(均方根)。
声音: 仅适用于事件和系统主音轨。显示事件产生了多少语音。透明背景图形代表语音和虚拟语音。“自身”和“总计”语音都可以显示。
寿命: 仅适用于事件。将事件的每个实例显示为一条水平线。单击一条水平线将其选中,并在面板中显示实例的参数。
实例: 仅适用于事件和系统主音轨。显示实例存在的事件实例数。一共有三个图形: 一个用于所有实例,包括虚拟和非播放实例,一个用于虚拟和非虚拟(活动)的所有播放实例,一个仅用于活动实例。
对于“语音”和“实例”,可选择显示自身或总计。自身指的是仅从该事件中产生的语音或实例。总计是指从嵌套或引用的事件中产生的语音或实例。
可在鸟瞰图中查看整个会话的活动图形类型的摘要。
概览部分的顶部是整个会话的 3D 视图,显示所有事件实例及其相对于玩家产生的位置。播放事件实例显示为实心圆圈,而虚拟事件显示为空心圆圈。随着时间的推移,停止的事件实例变得越来越暗淡,这有助于找到短暂的事件实例。一旦事件实例被释放,就会从 3D 视图中移除。
3D 预览显示环绕听者的球形区域的自上而下视图。这个圆的半径固定为 60 米。听者开始最终位于圆的正中心,面向前方(3D 预览中的“向上”)。
3D 视图下方是所有实例化的快照活动的列表。快照启动后,将出现在该列表中。快照名称右侧的百分比表示快照的强度。名称的背景也会及时显示当时应用的强度。快照发布后,将从此列表中删除。
可通过右键单击此列表中的任何快照并选择“在调音器中打开”来查看快照的调音器视图。
可在此部分中为每个性能分析器会话添加标签和注释。
性能分析器可提供有关每个事件实例的附加信息。
单击此视图中的一个事件会突出显示其关联的轨道,还会在面板中显示一个辅助 3D 视图,该视图仅显示给定类型的事件。
如果选择了一个事件实例,面板会随时间显示该实例的参数值。右键单击参数表盘可为该特定事件实例的参数添加图形。这将作为子图形添加到多轨视图中。

录制会话中的信息可以显示在表格中。这使得在会话中的任何时间点更容易查看属性的精确值。
要在表格中查看录制会话中的信息,请单击时间指示器旁边的表格按钮。
表中显示的值对应于在时间轴回放位置或特定时间段内记录的值,具体取决于在表右上角上方的下拉菜单中选择的模式:
在除瞬时值以外的任何模式下,都可以通过在时间轴标尺下方单击并拖动鼠标光标来选择时间段。
在表格视图中,项目中的每个总线和事件旁边都会出现一个眼睛形状的图标。这些图标指示并切换总线和事件是否出现在性能分析器的轨道视图中。
可使用表格顶部的搜索栏过滤可见的行。可使用放大镜中的下拉菜单选择过滤器,或在搜索栏中手动输入以下术语:
#tracked - 仅显示轨道视图中的可见轨道#missing - 仅显示缺少元数据的轨道#query:(Colorable.color == <color>) - 仅显示标有 <color> 中指定颜色的轨道#query:(isOfExactType(<type>)) - 仅显示在 <type> 中指定的类型。可用类型有: EventSnapshotMixerGroupMixerReturn#<tag> - 仅显示已使用 <tag> 中指定的标签对事件进行标记的轨道AND、OR、NOT - 用于进一步过滤搜索结果的运算符有关搜索的更多信息,请参阅组织项目一章的搜索部分。
所有会话捕获也会捕获 FMOD Studio 项目发出的 API 调用。
要查看正在进行的 API 调用,请单击时间指示器旁边的 API 查看按钮。

API 调用视图显示在每个Studio::System::update之间调用的 FMOD Studio API 函数,称为[帧](glossary.html#frame)。要在帧之间移动,请单击位于 API 调用视图右上角的“上一帧”或“下一帧”按钮。
捕获的 API 调用不是用任何特定的编程语言编写的,而是仅显示调用了哪些 FMOD API 函数以及传递给它的参数。所有评论都以井号 (#)为前缀,并且不影响回放。
位于会话编辑器窗口顶部的是两个按钮。轨迹视图和 API 调用视图。有关 API 调用视图的更多信息,请参阅本章的回放会话部分。
可选择使用录制的波形或记录的 API 调用来回放分析器会话。这些分别称为波形回放模式和模拟回放模式。
可通过单击时间指示器旁边的“波形”或“模拟”按钮,在播放记录的音频或使用 API 捕获之间切换。

启动性能分析器会话的回放将停止当前正在事件编辑器中试听的任何事件。
选择波形模式后,FMOD Studio 将播放在录音期间录制的音频。对项目进行更改不会改变此模式下录制的会话。
在模拟模式下,录制的分析器会话的回放使用的是 API 调用而不是回放录制的音频。模拟播放模式不需要在进行更改后重建事件库。
这对于调试在录制会话中发现的音频问题或对事件和总线进行调整,然后在真实的游戏场景中进行试听很实用。

在模拟模式下,可以听到正在播放的事件,就像通过事件编辑器播放它们一样,因此多样发声器和发散发声器的随机播放列表具有随机结果。
在模拟模式下,对项目所做的更改会实时更新,因此无需重建事件库。