是否有可能绕过Android的Surfaceflinger?

时间:2014-08-16 19:53:10

标签: android opengl-es framebuffer surfaceflinger

我最近问了一个相关问题,但我忘了明确地问这个问题。

(我想在使用OpenGL ES 2.0的Android应用中实现双缓冲方案,Android的默认方案似乎有点太难以预测。)

1 个答案:

答案 0 :(得分:2)

绕过SurfaceFlinger的唯一方法是根设备并关闭整个应用程序框架。然后,您必须与硬件编写器HAL进行交互 - 只需使用在所有设备上工作的帧缓冲器即可。

只要没有其他事情发生,

SurfaceFlinger's behavior就是可以预测的。当然,总会有其他事情发生,但无论你是否通过SurfaceFlinger合成,都是如此。

正如另一个问题(可能是你的)中提到的,Android上的GLES至少是双缓冲的(eglSwapBuffers()),所以你不需要实现任何东西来获得这种行为。