3

虽然我发现了一个关于共享 GLES20 上下文的问题...,但我认为我的情况更广泛一些。

我有两个GLSurfaceViews 在一个FrameLayout. (一个是来自android_page_curl的HarismCurlView作为库在我的应用程序中运行。另一个 GLSurfaceView 是我自己的。)每个 GLSurfaceView 都在自己的线程中运行。

我在 GLSurfaceView 上显示位图时遇到不一致的问题。有时位图绘制得很完美,有时只有一部分是可见的。我敢打赌,这两个 GLSurfaceView 正在竞争访问屏幕内存并互相践踏。

为了解决这个问题,我想我可以synchronize在调用之前在应用程序中使用一个单例布尔值onDrawFrame(),但是在阅读Threading 之后......我想我应该更周到一点。

在什么对象上,我应该围绕什么代码synchronize使两个重叠的 GLSurfaceViews 玩得很好?

4

1 回答 1

1

由于与此处类似的原因,我最终使用了 GLSurfaceView 上的视图

以编程方式将 SurfaceView 添加到在 ImageView 下按 Z 顺序排列的 FrameLayout

于 2011-07-28T01:49:29.743 回答