Asset Loading Profiler 模块显示有关应用程序如何加载资源的信息,包括按区域细分的读取操作。详细信息面板可帮助您洞悉在性能分析过程中捕获到的各个资源加载标记的情况。您可以使用此信息来了解应用程序加载资源的效率,并找出具体问题。
要打开性能分析器 (Profiler) 窗口,转到菜单:窗口 (Window) > 分析 (Analysis) > 性能分析器 (Profiler)。
默认情况下未启用此模块。要启用资源加载性能分析器模块,请打开性能分析器 (Profiler) 窗口,选择性能分析器模块 (Profiler Modules) 下拉选单菜单,然后切换资源加载 (Asset Loading) 复选框。
资源加载性能分析器模块的图表分为四个类别:要更改图表中类别的顺序,可以在图表的图例中拖动这些类别。还可以单击某个类别的有色图例以切换是否显示该类别。有关如何使用 Profiler 窗口的更多信息,请参阅 Profiler 窗口入门。
| 图表 | 描述 |
|---|---|
| Other Reads | 为未指定的子系统从 AsyncReadManager 请求的字节数。 |
| Texture Reads | 从 AsyncReadManager 请求用于纹理加载的字节数。 |
| Virtual Texture Reads | 从 AsyncReadManager 请求用于虚拟纹理的字节数。 |
| Mesh Reads | 从 AsyncReadManager 请求用于网格加载的字节数。 |
| Audio Reads | 从 AsyncReadManager 请求用于音频加载的字节数。 |
| Scripting Reads | 通过脚本 API 从 AsyncReadManager 请求的字节数。 |
| Entities Reads | 实体包中的脚本从 AsyncReadManager 请求的字节数。 |
资源加载性能分析器模块不会自动填充详细信息面板。要使用数据填充视图,请选择详细信息面板顶部的分析标记 (Analyze Markers) 按钮。
然后,在资源加载性能分析器模块中选择帧时,模块详细信息面板将显示有关 Unity 在捕获期间加载资源的方式和时间的详细信息。此模块可以显示单个选定帧的信息,也可以显示捕获中所有帧的信息。使用详细信息面板左上角的下拉菜单可在单帧和所有帧之间进行选择。
资源标记 (Asset Markers) 视图显示与捕获期间的资源加载相关的选定标记。有些行带有子标记,这些子标记构成了一个层级结构,最初它们都收纳在单独一个可展开的行中。选择标记名称旁边的下拉箭头即可展开该行并显示所有子标记。
下表介绍了资源标记视图可能显示的所有列。其中,部分列在默认情况下处于禁用状态。要启用或禁用列,请右键单击包含列名称的行中的任何位置以打开列切换子菜单。选择此菜单中的任何列名称可启用或禁用该列。您可以在分析标记 (Analyze Markers) 按钮旁边的搜索栏中输入文本以根据 Source 列过滤结果。
| 标题 | 描述 | 默认启用 |
|---|---|---|
| Index | 一个 ID 编号,表示资源加载标记的执行顺序。 | 是 |
| Source | 资源的来源。可以是文件路径、AssetBundle 名称或场景。要显示条目的完整源文件路径,请将鼠标悬停在条目名称上。 | 是 |
| Asset Name | 如果适用,且在性能分析器中该标记的元数据里有相关信息,此处会显示资源的名称。 | 是 |
| Thread | 该标记出现所在的线程。 | 是 |
| Type | 资源类型。 | 是 |
| Size | 此标记记录的负载大小。 注意:此大小可能不包括子标记,具体取决于标记类型。 |
是 |
| Marker Type | 记录的标记类型。 | 是 |
| Marker Length (ms) | 此标记在其跨越的所有帧中的总持续时间,单位为毫秒。 | 是 |
| Frame Count | 显示标记所占用帧范围内选定帧的索引。同时也显示标记跨越的总帧数。 | 是 |
| Timestamp (ms) | 此标记开始的时间,相对于性能分析器捕获的开始时间。 | 否 |
| First Frame Index | 此标记开始的帧。 | 否 |
| Last Frame Index | 此标记结束的帧。 | 否 |
可以右键单击任意资源加载标记,以打开一个子菜单,其中包含以不同方式可视化该数据的额外选项。可用选项如下:
| 属性 | 功能 |
|---|---|
| Show marker in timeline view | 在 CPU 使用率性能分析器 (CPU Usage Profiler) 模块中打开此标记。 |
| Go to the first frame of this marker | 选择该标记在图表中首次出现的帧。如果标记仅出现在一帧上,此选项将被禁用。 |
| Go to the last frame of this marker | 选择该标记在图表中最后出现的帧。如果标记仅出现在一帧上,此选项将被禁用。 |
| Filter the view to this source | 使用 Source 列的内容填充搜索栏以过滤结果。 |
| Filter the view to this asset name | 使用 Asset Name 列的内容填充搜索栏以过滤结果。如果 Asset Name 列为空,则禁用此选项。 |