Apple Metal Frame Capture 在 Xcode 15 中不起作用

问题描述 投票:0回答:1

我发现最近几乎不可能捕捉到金属框架。

对于我自己的应用程序(所有 iOS 应用程序)以及从 Apple 网站 (https://developer.apple.com/metal/sample-code/) 新鲜下载的示例 Metal macOS 和 Metal iOS 应用程序来说都是如此,即使对于最小的 Metal 项目,问题也存在。

  1. “M”下的“拍摄”按钮是灰色的(并且fps显示0),所以我无法点击它。 (iOS 应用程序和 MacOS 应用程序都会发生。)

enter image description here

  1. 或者单击“M”表示设备无法连接(仅在 MacOS 应用程序中观察到,但在 M2 Mac 和 Intel/AMD Mac 上都会发生)。

enter image description here

  1. 如果“捕获”按钮没有变灰,并且我可以单击它,则重播将永远旋转。 (适用于 iOS 应用程序和 macOS 应用程序。)

enter image description here

  1. 使用 MTLCaptureManager 以编程方式捕获 gputrace 并写入 url 是可行的,但是当我想在 XCode 中重播 .gputrace 文档时,它也不会重播(永远旋转)。 (适用于 iOS 应用程序和 macOS 应用程序。)

enter image description here

  1. 控制台中有一些错误消息(仅在 iOS 应用程序中观察到),但在我刚刚运行项目时总是出现,所以不确定它是否与捕获/调试有关。

enter image description here

其他(可能)相关信息:

  • 应用程序全部在调试配置中运行。
  • 应用程序本身完全正常运行,具有预期的 fps,金属 HUD 反映了这一点。
  • 直到几周前,我的 Metal 项目(所有 iOS)从未出现过 Metal 调试器和 Capture 的问题,而且我还没有编辑任何方案设置或 pList,因此启用了 Capture。
  • 此外,任何 Apple 示例 Metal 应用程序(iOS 或 MacOS)以前从未出现过问题。
  • 我的 Mac(一台 M2、一台 Intel/AMD)运行 Xcode,使用 MacOS 14.2.1。
  • 我的 iPad(2019、2022)运行 iPadOS 17.2,我的 iPhone12 运行 iOS 17.2.1。
  • Mac 使用不同的开发者帐户,因此在这个意义上有“独立”。
  • 特别针对 iOS 应用程序:我在各种“组合”中进行了测试(因此两台 Mac 中的一台为三台 iPhone/iPad 设备之一进行编译),但问题仍然存在。单独重新启动设备(iPad 或 iPhone)没有帮助。
  • XCode 15.1 和 15.2 中观察到的问题。
  • 禁用金属 HUD 没有帮助。
  • 通常唯一有帮助的事情(但经过几次编译后问题又回来了)是: 删除 XCode 项目构建文件(缓存、数据和索引)、删除 /Developer/Xcode/DerivedData、重新启动 Mac、从设备中删除应用程序、对于 iOS 应用程序重新启动设备并重新编译。此后,通常帧捕获和重放会成功。如果我跳过其中一个步骤,问题仍然存在。经过几次编译后问题又回来了。仅重新启动 Xcode 没有任何帮助。对于 iOS 应用程序,仅重新启动设备是没有帮助的。

我的问题:如何在 Metal 中捕获帧? (这是一个错误吗?其他人也遇到过这些问题吗?有解决方法吗?)

ios xcode macos metal
1个回答
0
投票
  1. 在手机上启用开发者模式
  2. 在手机的开发者模式设置中启用所有 GPU 调试设置(HUD 等)
  3. 重新启动手机和Mac

对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.