OpenGL ES for iOS - 7
调整您的OpenGL ES应用程序
iOS中OpenGL ES应用程序的性能与OS X或其他桌面操作系统中OpenGL的性能不同。虽然功能强大的计算设备,基于iOS设备的桌面或笔记本电脑不具备内存或CPU功能。使用与典型台式机或笔记本电脑GPU可能使用的算法不同的嵌入式GPU来优化较低的内存和功耗。低效渲染图形数据可能会导致较差的帧速率或极大地降低基于iOS设备的电池寿命。
后面的章节介绍了许多提高应用程序性能的技术;本章涵盖整体策略。除非另有说明,本章中的建议涉及OpenGL ES的所有版本。
使用Xcode和仪器调试和配置您的应用程序
在各种设备上的各种场景中测试其性能之前,请勿优化应用程序。 Xcode和Instruments包括帮助您识别应用程序中的性能和正确性问题的工具
-
监视Xcode调试量表,了解性能的一般概述。当您从Xcode运行应用程序时,可以看到这些仪表,以便在开发应用程序时轻松发现性能变化。
-
使用仪器中的OpenGL ES Analysis和OpenGL ES驱动程序工具,以更深入地了解运行时性能。获取关于您的应用程序的资源使用和符合OpenGL ES最佳做法的详细信息,并选择性地禁用部分图形管道,以便您可以确定哪个部分是应用程序中的重大瓶颈。有关详细信息,请参阅“仪器用户指南”。
-
在Xcode中使用OpenGL ES Frame Debugger和性能分析器工具来精确定位性能和渲染问题。捕获用于渲染和呈现单个帧的所有OpenGL ES命令,然后通过这些命令查看每个OpenGL ES状态,绑定资源和输出帧缓冲区的影响。您还可以查看着色器源代码,编辑它,并查看更改如何影响渲染图像。在支持OpenGL ES 3.0的设备上,Frame Debugger还指出哪些绘制调用和着色器指令对渲染时间最有贡献。有关这些工具的更多信息,请参阅Xcode OpenGL ES工具概述。