我有一个游戏使用GLSurfaceView.Renderer
在通常的方式来渲染与OpenGL ES 2.0的3D图形。 所有的渲染代码都在onDrawFrame()
方法中,并且当定时需要大约24ms才能完成;这很容易给出30 FPS的结果。 但是我发现onDrawFrame()
调用本身通常只会每50到100ms被调用一次,因此onDrawFrame()
的总时间实际上是70到120毫秒,最多给出14 FPS的结果。Android的onDrawFrame()大规模延迟
为什么android会花费这么长的时间来调用onDrawFrame()
?在stackoverflow和其他地方读到这个,我收集onDrawFrame()
“锁”,直到GPU渲染帧,所以我不知道是否它可能是我的GPU渲染花费很长时间,而不是Android中特定的东西造成延迟?