Xcode FPS调试计数器始终显示0FPS

4

我有一个使用OpenGL ES 3.0的游戏,针对iPad Air进行开发,使用Xcode 6.1.1开发。

当我捕获OpenGL ES帧时,FPS数字和着色器程序时间总是显示为0。

我已经在项目方案中启用了“GPU帧捕获”选项。 帧渲染由CADisplayLink在非主线程中调用。

如何获取正确的FPS数字和程序时间?


谢谢修改,Sheepy :) - user3239388
2个回答

6

在“运行”按钮旁边,点击您的项目,然后选择 > “编辑方案”... > “运行配置” > “选项” > GPU 帧捕获 > 选择 OpenGL ES

Xcode > Edit Scheme > Run Configuration > Options > GPU Frame Capture > OpenGL ES


我使用了一个带有自己的绘图循环的GLKView,问题得到了解决。谢谢! - Fathy

2
我遇到了类似的问题。如果您使用UIViewController来设置EAGLContext层,Xcode将不会显示除内存和CPU性能之外的任何测量结果,而应该使用GLKViewController进行实现。
例如:
替换下面这行代码:
   @interface MyRenderingView : UIViewController <...>{...}

使用

   @interface MyRenderingView : GLKViewController <...>{...}

这就是区别所在。

另一种方法:

使用“Xcode->打开开发者工具->Instruments->GPU Driver”来运行您的应用程序,此工具显示您所需的FPS和其他GPU信息。


感谢您的回复GoodnezEverywer。 但是我不打算使用GLKViewController,因为我需要在非主线程中调用渲染API。 此外,我还检查了cocos2d-x和unity3d的导出项目,它们也没有使用GLKViewContoller,而是使用UIViewController,并且它们都可以在Frame Capture中获得正确的Shader Program Time。 因此,我认为可以使用UIViewController并获得正确的着色器程序时间。但是我找不到方法。 :( - user3239388

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接