我正在尝试使用CoreAnimation和OpenGL ES驱动程序仪器对我的新应用程序进行一些性能测试。这两个工具都给我相同的信息。所以,我对每个工具的目的感到困惑。我的应用程序只是一个普通的应用程序,它不是游戏,我不使用任何openGL代码。在我的应用程序上运行OpenGL ES Driver Instrument是否有意义?
我从Apple page了解OpenGL ES Driver
:
OpenGL ES Driver
工具查询iOS设备上的GPU驱动程序,以便为单个进程采样OpenGL统计信息。该仪器可帮助您确定在设备上使用OpenGL和GPU的效率。
Apple页面还指出OpenGL ES Driver会给我很多信息,但我看不到任何信息:
Context Count, Command Buffer Allocated Bytes, Command Buffer Submitted Bytes, Command Buffer Submit Count, Command Buffer Render Count
答案 0 :(得分:4)
要回答第二个问题,您可以通过单击仪器右侧的小i
按钮,然后选择Configure
,在OpenGL ES驱动程序仪器中启用其他统计信息的跟踪。弹出窗口中的按钮。您将看到一个可以启用跟踪的统计信息列表。
选择要监控的项目后,单击Done
,您将返回原始弹出窗口。在其中,通过单击相应的复选框,启用您希望在图表和表格中显示的确切统计信息。
在下一次登录过程中,将监视这些附加项目。这可以帮助您调试OpenGL性能问题,例如填充率或几何限制,但我还没有用它来分析Core Animation。您可以在核心动画工具(颜色混合图层,颜色未对齐图像等)中启用的整洁工具往往更好。
答案 1 :(得分:3)
Core Animation是一个在iPhone上使用OpenGL ES的更高级别的框架。因此,使用Core Animation的应用程序间接使用OpenGL ES。 OpenGL ES Driver工具可能会告诉您有关Core Animation如何在iPhone上使用GPU的一些有趣信息。然而,这些信息可能无法采取行动。直接优化OpenGL代码需要改变Apple的代码。
所以直接回答你的问题:不,在不包含你自己的OpenGL代码的应用程序上运行OpenGL ES Driver Instrument没有任何意义。