Xcode 有一个帧调试器工具,可让您捕获应用程序的帧并查看 GPU 在该帧期间执行的命令、检查 GPU 内存中的数据并确定着色器中的瓶颈。这使您可以分析 GPU 性能。
Unity 通过以下这些方式与 Xcode 帧调试器集成:
仅当应用程序在 Xcode 支持的平台和图形 API 上运行时,帧调试才可正常工作。从 Unity 2019.2 开始,Xcode 仅支持带有 Metal 图形的 macOS。如果 Unity 使用其他 API,则会禁用 Xcode 集成,直到您选择支持的图形 API。
要使用 Xcode 帧调试器从应用程序捕获帧,可以执行以下操作之一:
FrameCapture
API 请求进行帧捕获。可以立即在 Xcode 中分析帧捕获,或将它们保存到磁盘。所有使用 Metal 的平台都支持此工作流程。FrameCapture
API 将帧捕获保存到磁盘。iOS 上不支持此工作流程。此部分介绍如何使用 Xcode UI 或 FrameCapture
API 启动应用程序并执行帧捕获。
所有使用 Metal 的平台都支持此工作流程。
XcScheme
API 配置 Xcode 项目方案,这对于自动构建可能非常有用。有关更多信息,请参阅 XcScheme API 文档。FrameCapture
API 从脚本执行帧捕获。有关更多信息,请参阅 FrameCapture API 文档。有关在 Xcode 中分析帧捕获数据的信息,请参阅 Xcode 帧调试器文档。
此部分介绍如何从命令行启动应用程序,使用 FrameCapture
API 执行帧捕获,并将结果保存到磁盘。
iOS 上不支持此工作流程。要在 iOS 上执行帧捕获,必须始终从 Xcode 启动应用程序。
-enable-metal-capture
。Xcode 会在代码请求时执行帧捕获,并将结果保存到磁盘。有关在 Xcode 中分析此数据的信息,请参阅 Xcode 帧调试器文档。
在 macOS 上,您可以使用 Xcode 帧调试器从 Unity 编辑器分析帧。如果使用 Xcode 启动 Unity 编辑器,则可以从 Unity 编辑器 UI 请求进行帧捕获。
此部分介绍如何从 Xcode 启动 Unity 编辑器并使用 Unity 编辑器 UI、Xcode UI 或 FrameCapture
API 执行帧捕获。可以立即分析帧捕获,或将结果保存到磁盘。
macOS 上不支持此工作流程。
FrameCapture
API 从脚本执行帧捕获。有关更多信息,请参阅 FrameCapture API 文档。有关在 Xcode 中分析帧捕获数据的信息,请参阅 Xcode 帧调试器文档。
此工作流程介绍如何从命令行启动 Unity 编辑器,使用 FrameCapture
API 执行帧捕获,并将帧捕获保存到磁盘。
macOS 上不支持此工作流程。
-enable-metal-capture
。Xcode 会在代码请求时执行帧捕获,并将结果保存到磁盘。有关在 Xcode 中分析此数据的信息,请参阅 Xcode 帧调试器文档。