为啥 xcode 编辑方案中的 GPU 帧捕获中没有 GLES 选项

Posted

技术标签:

【中文标题】为啥 xcode 编辑方案中的 GPU 帧捕获中没有 GLES 选项【英文标题】:Why is there no GLES option in GPU Frame Capture in xcode edit scheme为什么 xcode 编辑方案中的 GPU 帧捕获中没有 GLES 选项 【发布时间】:2020-09-20 03:48:40 【问题描述】:

我试图使用 xcode 捕获 MAC openGL 程序 (https://github.com/JohnTargaryen/LearnOpenGL/blob/master/src/1.getting_started/2.1.hello_triangle/hello_triangle.cpp) 的 gpu 帧。当我运行程序时,用于捕获帧的相机图标没有出现,所以我按照下面的链接进行了操作,这意味着将 GPU Frame Capture 更改为 GLES。但是,我没有 GLES 选项可供选择。 no GLES option in GPU Frame Capture in xcode edit scheme

https://developer.apple.com/documentation/metal/frame_capture_debugging_tools/enabling_frame_capture?language=objc

可能的原因是什么,我该如何解决?提前谢谢!

【问题讨论】:

【参考方案1】:

Apple 已在 ios 12 中弃用 OpenGL ES,XCode GPU 工具现在仅支持 Metal API。

此外,OpenGL-ES 在 MacOS 上不可用,只有 OpenGL,它也已被弃用。

请参阅https://developer.apple.com/library/archive/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html 中的警告提及

重要提示 OpenGL ES 在 iOS 12 中已弃用。要在 GPU 上创建高性能代码,请改用 Metal 框架。见Metal。

对于 OpenGL,类似的警告是 visible:

OpenGL 在 macOS 10.14 中已弃用。要在 GPU 上创建高性能代码,请改用 Metal 框架。见金属。

【讨论】:

感谢答案,但首先,最初的问题是指 MAC OS 程序而不是 IOS APP,其次,我有另一个运行在 OpenGL ES 后端的 IOS APP OpenGL ES 选项在 Edit Scheme->Run->Options->GPU Frame Capture 中可用 好的,按照您指定的 iOS,您可以相应地编辑您的问题和标签。此外,AFAIK OpenGL-ES 在 MacOS 上不可用,只有 OpenGL,它也已被弃用。 谢谢。我认为这解决了我的问题。 “OpenGL-ES 在 MacOS 上不可用,只有 OpenGL,它也已弃用。”

以上是关于为啥 xcode 编辑方案中的 GPU 帧捕获中没有 GLES 选项的主要内容,如果未能解决你的问题,请参考以下文章

GPU 帧捕获在模拟器上“不可用”?

MacOS Metal:无法从命令行应用程序捕获 GPU 帧

使用xcode GPU捕获金属中的一些参数是啥意思?

XCode 5.1.1“捕获 OpenGL ES 帧”被禁用

为啥 Objective-C 不显示 OpenCV 捕获的视频的输出帧?

为啥 XCUITest 在 Xcode 11.4.1 中捕获的流失败