我正在使用仪器为我的引擎捕获有关 OpenGL 压力测试的信息。
经过很长一段时间后,前 3 个函数(使用 OpenGL ES Analyzer Instrument 的 API 统计数据)是:
- EAGLContext_presentRenderBuffer (654,827,246)
- glBufferData (16,128,155)
- glDrawElements (11,555,768)
为什么 EAGLContext_presentRenderBuffer 这么高?我的猜测是,因为 CPU 利用率很低,所以这个时间还包括在 CPU 上等待 vsync 所花费的时间。
那是对的吗?如果不是,还有什么可以解释这个功能的高成本?