then there is the problem. the onSurfaceXXX runs after the renderer.createBuffer() call. So how should i create the context before the rendering starts? Now i am doing it : setContentView(mGLView), and the frameBuffer is created in onSurfaceChanged() ,but the frameBuffer creation takes a bit too much time, so how to create this FrameBuffer, before the setContentView() is called?

, but I am wondering if it is possible to create FrameBuffer not in the methods onSurfaceCreate, onSurfaceChanged, onSurfaceDestroyed. Now i am creating the framebuffer in the onSurfaceChanged, and it takes about 2 seconds to create and it causes lags when starting the scene, that is why i would like to create it before the actual rendering begins(so before that when the user starts the level). I tried to run it on the GL thread this way :