我只是注意到了奇怪的事情 - 看起来我的GlSurfaceView.Renderer :: onDrawFrame()很少被调用。至少我希望它是另一种方式:
当前渲染器的renderMode设置为RENDER_CONTINUOUSLY(事实上,我没有修改默认值)。通过插入一些时间测量代码,我会观察到以下内容:
GLSurfaceView.Renderer :: onDrawFrame()在大约15秒内被调用100次。 而这100帧实际上只需要0.13秒左右。
我想知道这种缓慢来自哪里以及这个15s-0.13s的时间花在哪里?我希望GLSurfaceView像疯了一样调用我的onDrawFrame,但它看起来不是:)
我做错了什么,或者我只是不知道什么?刚开始学习OpenGL ES ...
答案 0 :(得分:7)
时间onDrawFrame()不是衡量性能的可靠方法。当onDrawFrame()完成时,并不意味着渲染完成......它只表示您已完成向GL发送命令。实际渲染可能需要花费更多时间,而这可能就是你所看到的。