【问题标题】:Difference between CoreAnimation and OpenGL ES Driver Instrument - iPhoneCoreAnimation 和 OpenGL ES Driver Instrument 的区别 - iPhone
【发布时间】:2011-08-02 23:49:03
【问题描述】:

我正在尝试使用 CoreAnimation 和 OpenGL ES Driver Instrument 对我的新应用程序运行一些性能测试。这两种工具都给了我相同的信息。所以,我对每个工具的用途感到困惑。我的应用程序只是一个普通的应用程序,它不是游戏,我不使用任何 openGL 代码。在我的应用上运行 OpenGL ES Driver Instrument 有意义吗?

我从Apple page 中了解到OpenGL ES DriverOpenGL ES Driver 仪器查询 iOS 设备上的 GPU 驱动程序以对单个进程的 OpenGL 统计信息进行采样。该仪器可帮助您确定在设备上使用 OpenGL 和 GPU 的效率。

Apple 页面还指出 OpenGL ES 驱动程序会给我很多信息,但我看不到任何信息: Context Count, Command Buffer Allocated Bytes, Command Buffer Submitted Bytes, Command Buffer Submit Count, Command Buffer Render Count

【问题讨论】:

    标签: iphone objective-c performance instruments


    【解决方案1】:

    要回答您的第二个问题,您可以通过单击仪器右侧的小 i 按钮,然后在该弹出窗口中选择 Configure 按钮,在 OpenGL ES 驱动程序仪器中启用对其他统计信息的跟踪.您将看到可以启用跟踪的统计信息列表。

    选择要监控的项目后,单击Done,您将返回原始弹出窗口。在其中,通过单击相应的复选框启用您希望在图表和表格中显示的确切统计信息。

    在下一次记录过程中,将监控这些额外的项目。这可以帮助您调试 OpenGL 性能问题,例如填充率或几何限制,但我还没有使用它来分析核心动画。您可以在 Core Animation 工具中启用的简洁工具(颜色混合图层、颜色未对齐的图像等)往往更适合于此。

    【讨论】:

      【解决方案2】:

      Core Animation 是在 iPhone 上使用 OpenGL ES 的更高级别的框架。因此,使用 Core Animation 的应用程序间接使用 OpenGL ES。 OpenGL ES Driver 工具可能会告诉你一些关于 Core Animation 如何在 iPhone 上利用 GPU 的有趣信息。然而,这些信息不太可能具有可操作性。直接优化 OpenGL 代码需要修改 Apple 的代码。

      所以直接回答您的问题:不,在不包含您自己的 OpenGL 代码的应用程序上运行 OpenGL ES 驱动程序没有任何意义。

      【讨论】:

        猜你喜欢
        • 2011-06-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-29
        相关资源
        最近更新 更多