版本:Unity 6 (6000.0)
语言:English
创建自定义 Profiler 模块
创建自定义模块详细信息面板

Profiler 模块编辑器

Profiler一个帮助您优化游戏的窗口。它显示在游戏的各个区域花费了多少时间。例如,它可以报告渲染、动画或游戏逻辑中花费的时间百分比。 更多信息
参见 术语表
模块编辑器是一个工具,您可以使用它将自己的自定义模块添加到 Unity Profiler 窗口。您还可以将内置计数器添加到模块,或使用运行时 API 将自己的自定义计数器添加到模块。有关如何实现自己的计数器的信息,请参阅 Profiler Counters API 中的 Profiling 包文档。

当您需要深入分析要分析的统计信息或将应用程序的自定义统计信息添加到 Profiler 窗口时,它特别有用。

The Profiler Module Editor window, with a new module selected
Profiler 模块编辑器窗口,选择了新模块

要使用 Profiler 模块编辑器,请打开 Profiler 窗口(窗口 > 分析 > Profiler),然后选择 Profiler 模块下拉菜单。

The Profiler module dropdown
Profiler 模块下拉菜单

选择齿轮图标,然后打开Profiler 模块编辑器窗口。窗口包含三列

  • Profiler 模块列表:此列表包含您可以添加到 Profiler 窗口的所有可用模块。内置模块在列表中显示为灰色,表示您无法编辑其内容。您可以拖放模块以重新排序它们在 Profiler 窗口中的显示顺序。当您创建自己的自定义 Profiler 模块时,它也会出现在此列表中。
  • Profiler 模块信息窗格(仅在创建或选择自定义模块时出现):列出自定义模块中包含的计数器
  • 可用计数器(仅在创建或选择自定义模块时出现):列出您可以添加到自定义模块的可用计数器。

创建自定义模块

要创建自定义模块,请在 Profiler 模块编辑器窗口的左下方选择添加按钮。Unity 会将一个名为新的 Profiler 模块的新 Profiler 模块添加到列表中。要重命名模块,请单击文本字段并使用键盘设置名称。

向模块添加计数器

要在自定义 Profiler 模块中收集数据,您必须至少为模块添加一个要跟踪的计数器。您可以添加内置的 Unity 计数器,也可以使用 ProfilerRecorder API 创建自己的计数器以添加到模块。可用计数器的列表显示在可用计数器窗格中。

如果您没有将任何数据加载到 Profiler 窗口中,那么在加载 Profiler 模块编辑器时,您创建的任何计数器都不会显示在可用计数器窗格中。要查看自定义计数器,您必须捕获或加载一些数据,这些数据包含您已发出的计数器,并使用 Profiler,然后重新打开 Profiler 模块编辑器。

可用的 Unity 计数器分为三个区域:内存渲染虚拟纹理。有关这些区域中提供的特定计数器的更多信息,请参阅每个模块的文档。

如果您使用 API 添加自己的计数器,则必须先将一些数据加载或收集到 Profiler 窗口中,然后您的自定义计数器才会显示在 Profiler 模块编辑器的用户标题下的可用计数器窗格中。

Profiler Module Editor with User counters listed.
列出了用户计数器的 Profiler 模块编辑器。

要将计数器添加到模块,请在可用计数器列表中选择它,然后选择添加选定内容按钮。或者,您可以双击计数器将其添加到模块。然后,Unity 会将这些计数器添加到选定的 Profiler 模块中。要一次将多个计数器添加到模块,您可以按住Shift并单击两个计数器以选择这两个计数器之间的所有计数器,或者您可以按住Ctrl(在 macOS 上为Command)一次选择一个计数器,然后选择添加选定内容按钮。

要重新排序计数器,您可以拖放它们。您最多只能向模块添加 10 个计数器。

使用自定义模块

当您对自定义模块感到满意时,请在 Profiler 模块编辑器窗口的右下角选择保存更改按钮。Unity 将关闭窗口,然后您可以在 Profiler 窗口中看到新的模块列表。

Profiler Module Editor (left), with a custom module. On the right, the custom module in the Profiler window.
Profiler 模块编辑器(左侧),包含自定义模块。右侧是 Profiler 窗口中的自定义模块。

要有效地使用数据并将其与内置模块进行比较,您可以重新排序 Profiler 窗口中的模块。为此,请打开 Profiler 模块编辑器,然后在Profiler 模块窗格中拖放模块。

如果您想根据内置 Profiler 数据中的峰值检查应用程序的自定义元素,这将特别有用。

A custom Profiler Module displaying the number of bullets and tanks on screen in the game. Note the correspondence to the rendering data.
一个自定义 Profiler 模块,在游戏中显示屏幕上的子弹和坦克数量。请注意与渲染数据的对应关系。
创建自定义 Profiler 模块
创建自定义模块详细信息面板