GLSurfaceView.Renderer :: onDrawFrame()的调用率太低

时间:2011-01-02 16:31:28

标签: android opengl-es

我只是注意到了奇怪的事情 - 看起来我的GlSurfaceView.Renderer :: onDrawFrame()很少被调用。至少我希望它是另一种方式:

当前渲染器的renderMode设置为RENDER_CONTINUOUSLY(事实上,我没有修改默认值)。通过插入一些时间测量代码,我会观察到以下内容:

GLSurfaceView.Renderer :: onDrawFrame()在大约15秒内被调用100次。 而这100帧实际上只需要0.13秒左右。

我想知道这种缓慢来自哪里以及这个15s-0.13s的时间花在哪里?我希望GLSurfaceView像疯了一样调用我的onDrawFrame,但它看起来不是:)

我做错了什么,或者我只是不知道什么?刚开始学习OpenGL ES ...

1 个答案:

答案 0 :(得分:7)

时间onDrawFrame()不是衡量性能的可靠方法。当onDrawFrame()完成时,并不意味着渲染完成......它只表示您已完成向GL发送命令。实际渲染可能需要花费更多时间,而这可能就是你所看到的。