gpt4 book ai didi

android - 不使用 GLSurfaceView 时替换 queueEvent

转载 作者:行者123 更新时间:2023-11-30 03:56:55 26 4
gpt4 key购买 nike

从其他线程控制OpenGL时,如果是GLSurfaceView,我们使用queueEvent()。那么,在SurfaceView上创建OpenGL的情况下(使用eglCreateWindowSurface、eglMakeCurrent等),如何实现从其他线程操作OpenGL呢?

最佳答案

您可以实现自己的 queueEvent .

  1. 排队。 ( ArrayList<Runnable> mQueue )
  2. queueEvent()添加 Runnable此队列的实例(mQueue)。
  3. 你的 SurfaceView的渲染线程弹出 event来自队列。
  4. 调用event.run()

使用锁(synchronized 或显式锁)来避免问题。

GLSurfaceView ,GLThread和mQueue的循环中有3和4步受 synchronized 保护 block 。

另请参阅:GLSurfaceView

PS:抱歉我的英语不好。

关于android - 不使用 GLSurfaceView 时替换 queueEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13205447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com