Android 不使用GLSurfaceView时替换queueEvent
当从其他线程控制OpenGL时,如果是GLSURFACHEVIEW,则使用queueEvent()。然后,如果OpenGL是在SurfaceView上创建的(使用EGLCreateWindowsSurface、eglMakeCurrent等),我应该如何实现从其他线程操作OpenGL?您可以实现自己的Android 不使用GLSurfaceView时替换queueEvent,android,opengl-es,surfaceview,glsurfaceview,Android,Opengl Es,Surfaceview,Glsurfaceview,当从其他线程控制OpenGL时,如果是GLSURFACHEVIEW,则使用queueEvent()。然后,如果OpenGL是在SurfaceView上创建的(使用EGLCreateWindowsSurface、eglMakeCurrent等),我应该如何实现从其他线程操作OpenGL?您可以实现自己的queueEvent 排队。(ArrayList MQUE) queueEvent()将Runnable实例添加到此队列(mQueue) 您的SurfaceView渲染线程从队列中弹出事件 调用ev
queueEvent
ArrayList MQUE
)queueEvent()
将Runnable
实例添加到此队列(mQueue
)SurfaceView
渲染线程从队列中弹出事件
event.run()
synchronized
或显式锁)来避免问题
在GLSurfaceView
中,GLThread循环中有3个和4个步骤,mQueue
受synchronized
块的保护
另见:
PS:对不起,我的英语很差。您可以实现自己的
queueEvent
ArrayList MQUE
)queueEvent()
将Runnable
实例添加到此队列(mQueue
)SurfaceView
渲染线程从队列中弹出事件
event.run()
synchronized
或显式锁)来避免问题
在GLSurfaceView
中,GLThread循环中有3个和4个步骤,mQueue
受synchronized
块的保护
另见:
PS:很抱歉我的英语很差。我面临着一个非常非常类似的问题,在加载资源时我必须绘制3D场景。如果我能找到任何有用的东西,我会帮助你。我面临着一个非常非常类似的问题,我必须在加载资源时绘制3D场景。如果我能找到有用的东西,我会帮助你的。