Lollipop(android 5.0)更新后,glClientWaitSync不起作用

时间:2015-04-13 06:18:53

标签: android opengl-es

我正在使用OpenGL ES 3.0开发应用程序。 目标设备是谷歌Nexus 5(Adreno 320)和Saumsung Galaxy S5(Adreno 420)。

我使用glFenceSyncglClientWaitSync来衡量我在Android 4.4版本中编码的每个渲染周期的处理时间。

但是,在Lollipop更新后,似乎glFenceSyncglClientWaitSync会立即返回。所以,我无法衡量处理时间。

为什么会发生这种情况? 这是Adreno图形驱动程序的错误还是Lollipop错误?


这是我的代码的一部分。

GLsync syncFence1 = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
glDrawArraysInstanced(GL_TRIANGLE_STRIP, 0, 4, 1);
GLenum syncResult1 = glClientWaitSync(syncFence1, GL_SYNC_FLUSH_COMMANDS_BIT, 1000000000);
glDeleteSync(syncFence1);

我要停止CPU操作,直到glDrawArraysInstanced函数全部完成,因此图形管道操作完成。 我确认超时比图形管道运行时间长。

0 个答案:

没有答案