GPU Usage Profiler 模块显示应用程序在 GPU 中花费的时间。只能在播放模式下使用 GPU 性能分析器或者将其用于应用程序的构建。不能用于对编辑器进行性能分析。
默认情况下,未启用 GPU 使用分析器模块。要启用此功能,请参阅激活性能分析器模块。
注意:如果在播放器设置 (Player Settings) 中启用了 Graphics Jobs,则不支持 GPU 性能分析。有关更多信息,请参阅有关播放器设置的文档。此外,在 macOS 上,只能在 Mavericks 10.9 及更高版本上对 GPU 进行性能分析。
GPU 使用分析器模块的图表有几个不同的类别,可用于调查 GPU 的时间使用情况:
| 图表 | 描述 |
|---|---|
| Opaque | 内置渲染管线渲染不透明对象的时间。 |
| Transparent | 内置渲染管线渲染透明对象的时间。 |
| Shadows/Depth | 内置渲染管线渲染阴影贴图的时间。 |
| Deferred Geometry | 内置延迟渲染管线渲染几何体的时间。 |
| Deferred Lighting | 内置延迟渲染管线渲染光照的时间。 |
| PostProcess | 内置渲染管线处理后期处理效果的时间。 |
| Other | 处理可编程渲染管线等其他事务的渲染时间。 |
选择 GPU 使用量模块时,下面的详细信息面板将显示应用程序在所选帧内花费的时间的细分信息。
可以将时间数据显示为层级表。要更改表视图,请使用详细信息面板中的左上方下拉选单(默认设置为层级 (Hierarchy))。可用视图有:
| 值 | 描述 |
|---|---|
| Hierarchy | 按时间数据的内部层级结构对这些数据分组。此选项以降序列表格式显示应用程序调用的元素,默认按花费的时间排序。还可以按 GPU 时间总量或调用次数对这些信息进行排序。要更改用于对表进行排序的列,请单击该表列的标题。 |
| Raw Hierarchy | 以层级结构显示时间数据,该结构与出现计时的调用栈类似。Unity 在此模式中单独列出每个调用栈,而不是像在层级视图中一样将它们合并。 |
表视图包含以下列:
| 值 | 描述 |
|---|---|
| Total | Unity 在特定函数上花费的总时间(以百分比表示)。 |
| DrawCalls | 此帧中调用此函数的次数。 |
| GPU ms | Unity 在特定函数上花费的总时间(以毫秒为单位)。 |
下表列出了 GPU Usage Profiler 模块支持的平台:
| 平台 | 图形 API | 状态 |
|---|---|---|
| Windows | DirectX 11、DirectX 12、OpenGL | 受支持 |
| Vulkan | 不支持 | |
| macOS | OpenGL | 受支持。 注意:Apple 已废弃对 OpenGL 的支持。 |
| Metal | 不支持。改用 XCode 的 GPU 帧调试器__ UI__(即用户界面,User Interface)让用户能够与您的应用程序进行交互。Unity 目前支持三种 UI 系统。更多信息 See in Glossary。 |
|
| Linux | OpenGL Core | 受支持 |
| Vulkan | 不支持 | |
| Web | 所有__ WebGL__一款 JavaScript API,可在 Web 浏览器中渲染 2D 和 3D 图形。Unity WebGL 构建选项让 Unity 能够将内容发布为 JavaScript 程序,而这些程序会使用 HTML5 技术和 WebGL 渲染 API 在 Web 浏览器中运行 Unity 内容。更多信息 See in Glossary |
不支持 |
| Android | OpenGL | 在运行 NVIDIA 或 Intel GPU 的设备上受支持。 |
| Vulkan | 不支持 | |
| iOS、tvOS | Metal | 不支持。改用 XCode 的 GPU 帧调试器 UI。 |
| Tizen | OpenGL | 不支持。 |
在 Windows 上,仅当采用 Direct3D 11 和 Direct3D 12 API 时,Unity 才支持编辑器中的播放模式性能分析。这对于快速进行性能分析很方便,因为这意味着不需要构建播放器。但是,运行 Unity 编辑器的开销会影响性能分析器,这可能会使性能分析结果不太准确。