- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从其他线程控制OpenGL时,如果是GLSurfaceView,我们使用queueEvent()。那么,在SurfaceView上创建OpenGL的情况下(使用eglCreateWindowSurface、eglMakeCurrent等),如何实现从其他线程操作OpenGL呢?
最佳答案
您可以实现自己的 queueEvent
.
ArrayList<Runnable> mQueue
) queueEvent()
添加 Runnable
此队列的实例(mQueue
)。SurfaceView
的渲染线程弹出 event
来自队列。event.run()
使用锁(synchronized
或显式锁)来避免问题。
在GLSurfaceView
,GLThread和mQueue
的循环中有3和4步受 synchronized
保护 block 。
另请参阅:GLSurfaceView
PS:抱歉我的英语不好。
关于android - 不使用 GLSurfaceView 时替换 queueEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13205447/
这之间有什么不同: queueEvent(new Runnable(){ @Override public void run() { mRenderer.method(); }}); 还有这个: m
我想向我的渲染器传递一些来自另一个类的值。在渲染器计算出值后,我在辅助类中有一个互斥锁,它应该告诉我渲染器已完成计算,因此我可以继续使用这些新值。我可以毫无问题地将值传递给渲染器,但我不知道如何取回它
从其他线程控制OpenGL时,如果是GLSurfaceView,我们使用queueEvent()。那么,在SurfaceView上创建OpenGL的情况下(使用eglCreateWindowSurfa
我一直在阅读在线文档,并浏览了几本 android/OpenGL 书籍。其中都提到了将事件处理程序调用传递或委托(delegate)给 GL 渲染线程的一种方法是使用 Android queueEve
我正在尝试从我的主要 Activity 中为我的 GLSurfaceView 执行一些 OpenGL 命令。由于 OpenGL 渲染器在其自己的线程中工作,据我所知,我必须使用 queueEvent。
我是一名优秀的程序员,十分优秀!