测试应用程序时,AVD"使用主机GPU"会导致黑屏

hkg*_*ile 12 android cordova

我创建了一个新的phonegap 2.7项目,并使用eclipse和android模拟器打开项目,使用"使用GPU选项",这里是截图

如果我不使用"使用GPU选项",则可以显示徽标,但上部背景仍为黑色.

在此输入图像描述

中心应该有一个标志闪烁,背景为灰色(没有黑色),任何人都知道问题是什么?

    06-14 02:02:54.799: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:54.799: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 5, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:54.860: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:54.860: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 9, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:54.968: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:54.968: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 13, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:55.027: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:55.027: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 6, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:55.107: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:55.107: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 10, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:55.147: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:55.147: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 15, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:55.237: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:55.237: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 7, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:55.277: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:55.288: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 11, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:55.317: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:55.327: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 16, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:55.357: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:55.357: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 4, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:55.417: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 8, srcTexId 2, textureWidth 256, textureHeight 256
06-14 02:02:55.447: E/GLUtils(2290): GL ERROR - after At the end of blitTileFromQueue()() glError (0x501)
06-14 02:02:55.457: E/TransferQueue(2290): blitTileFromQueue ERROR: fboId 1, destTexId 12, srcTexId 2, textureWidth 256, textureHeight 256
Run Code Online (Sandbox Code Playgroud)

hok*_*oka 2

我在使用 Cordova 3.0.2 时也遇到了这些渲染故障。

当在 OSX 上使用 Cordova CLI 并启用 Intel HAX CPU 和启用主机 GPU 时,会出现这种情况。

正如 OP 所说,禁用主机 GPU 渲染故障似乎会停止。

然而,在启用主机 GPU 的情况下,如果我在 2/3 屏幕中导航,渲染故障很快就会消失;尽管每次启动应用程序时都会重新出现。

E/GLUtils ( 2003): GL ERROR - after At the end of blitTileFromQueue()() glError (0x502)
E/TransferQueue( 2003): blitTileFromQueue ERROR: fboId 1, destTexId 12, srcTexId 3, textureWidth 256, textureHeight 256
Run Code Online (Sandbox Code Playgroud)

即使渲染故障似乎已停止,错误消息(上面)仍会写入日志。

这并不是真正的答案,但我很乐意忍受这些问题 - 现在我知道如何在需要时阻止它们。

ETA:我还尝试在浏览器实例上通过CSS(如下)强制启用硬件加速,以防产生一些影响但无济于事。

body {
   -webkit-transform: translate3d(0, 0, 0);
           transform: translate3d(0, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)

事实上,这导致解决故障所需的导航次数增加。

进一步的测试表明,它与时间无关;返回主屏幕无法解决;无法通过滚动解决;我能够让它们消失的唯一方法是在多个屏幕之间来回导航。