【问题标题】:Xcode FPS Debug Gauge always show 0 FPSXcode FPS Debug Gauge 总是显示 0 FPS
【发布时间】:2015-04-23 03:12:17
【问题描述】:

我有一个使用 OpenGL ES 3.0 的 Xcode 6.1.1 游戏,针对 iPad Air。 当我捕获 OpenGL ES 帧时,FPS 数和着色器程序时间总是显示为 0。

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

如何获得正确的 FPS 编号和程序时间?

【问题讨论】:

  • 感谢您的修改,Sheepy :)

标签: ios xcode opengl-es frame-rate


【解决方案1】:

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

【讨论】:

  • 我使用的是带有我自己的绘图循环的 GLKView,它修复了它。谢谢!
【解决方案2】:

我遇到了类似的问题。如果你实现 UIViewController 来设置 EAGLContext Layer Xcode 不会显示任何测量值,除了内存和 cpu 性能,你应该使用 GLKViewController 来实现。

例如:

替换下一行

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

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

这会有所不同。

另一种方式:

使用“Xcode->OpenDeveloperTool->Instruments->GPU Driver”来运行你的应用,这个工具会显示你需要的FPS和其他GPU信息。

【讨论】:

  • 感谢您的回复 GoodnezEverywer。但我不打算使用 GLKViewController,因为我需要在非主线程中调用渲染 API。另外,我还查看了cocos2d-x和unity3d的导出项目,他们也没有使用GLKViewContoller,而是使用了UIViewController,在Frame Capture中都可以得到正确的Shader Program Time。所以我认为可以使用 UIViewController 并获得正确的着色器程序时间。但我找不到路。 :(
猜你喜欢
  • 1970-01-01
  • 2016-06-03
  • 1970-01-01
  • 2020-02-20
  • 1970-01-01
  • 1970-01-01
  • 2013-11-08
  • 2012-01-10
  • 2014-03-12
相关资源
最近更新 更多