0

我在 iOS 上有一个 Metal 应用程序,我在其中获取视频帧并将每个帧传递给多个着色器,其中一些是在多个通道中应用的计算着色器,其中 4 个是独立的 MTKViews,它们显示计算的纹理(例如,直方图)以及视频预览. 有时(但并非总是)在 iPhone 6s 等旧硬件上,我注意到应用程序变得过于缓慢,帧速率下降到每秒 1 或 2 帧。请让我知道如何调试阻塞 GPU/GPU 的 Metal 着色器以及如何优化 Metal 相关代码的性能。

4

1 回答 1

2
  1. 在 Xcode 中运行您的应用程序。
  2. 选择调试 -> 捕获 GPU 帧
  3. 从左侧工具栏中选择问题导航器
  4. 选择运行时
  5. 修复列出的问题,至少是“高”优先级。
  6. 您还可以通过查看drawPrimitives左侧调试导航器中的时间等来了解性能消耗在哪里。

要查看着色器的性能详细信息,请从左侧的事件列表中选择绘制或调度调用。有一个“性能”部分。

于 2018-05-27T14:40:41.803 回答