Java Android OpenGL ES 2.0上的间歇慢速帧

Java Android OpenGL ES 2.0上的间歇慢速帧,java,android,opengl-es-2.0,Java,Android,Opengl Es 2.0,我用Android上的OpenGL ES 2.0获得了一些慢帧。足以导致渲染时出现口吃。 我已经输入了一些输出到System.err的行,这两条信息: 过去60帧的平均绘制时间(“平均绘制时间:2”) 一帧的绘制时间超过10毫秒,g=GUI绘制时间,w=世界绘制时间(“慢帧!!!(29,g=27,w=2)” 我在这个问题下面发布了一些示例输出,显示了随机的慢帧 即使场景中没有任何更改,也会发生这种情况。是什么导致了这些间歇性的慢帧?如果我更深入地了解时间,看看是否有什么东西一直在减慢速度,我什么

我用Android上的OpenGL ES 2.0获得了一些慢帧。足以导致渲染时出现口吃。 我已经输入了一些输出到System.err的行,这两条信息:

  • 过去60帧的平均绘制时间(“平均绘制时间:2”)
  • 一帧的绘制时间超过10毫秒,g=GUI绘制时间,w=世界绘制时间(“慢帧!!!(29,g=27,w=2)”
  • 我在这个问题下面发布了一些示例输出,显示了随机的慢帧

    即使场景中没有任何更改,也会发生这种情况。是什么导致了这些间歇性的慢帧?如果我更深入地了解时间,看看是否有什么东西一直在减慢速度,我什么也看不到。这似乎是随机的。 在这个示例输出中,垃圾收集只发生两次,所以我认为GC不是问题所在。还有什么会导致这些帧时不时地花费如此长的时间

    11-09 13:42:53.768: W/System.err(25924): Avg draw time: 2
    11-09 13:42:54.839: W/System.err(25924): Avg draw time: 2
    11-09 13:42:55.860: W/System.err(25924): Avg draw time: 2
    11-09 13:42:56.881: W/System.err(25924): Avg draw time: 2
    11-09 13:42:57.442: D/dalvikvm(25924): GC_CONCURRENT freed 1715K, 62% free 3619K/9379K, paused 1ms+2ms
    11-09 13:42:57.912: W/System.err(25924): Avg draw time: 2
    11-09 13:42:58.273: W/System.err(25924): Slow frame!!! (29, g=27, w=2)
    11-09 13:42:58.924: W/System.err(25924): Avg draw time: 3
    11-09 13:42:59.014: W/System.err(25924): Slow frame!!! (19, g=2, w=17)
    11-09 13:42:59.955: W/System.err(25924): Avg draw time: 4
    11-09 13:43:00.075: W/System.err(25924): Slow frame!!! (28, g=25, w=3)
    11-09 13:43:00.445: W/System.err(25924): Slow frame!!! (20, g=9, w=11)
    11-09 13:43:01.026: W/System.err(25924): Avg draw time: 4
    11-09 13:43:02.037: W/System.err(25924): Avg draw time: 4
    11-09 13:43:02.197: W/System.err(25924): Slow frame!!! (16, g=14, w=2)
    11-09 13:43:02.227: W/System.err(25924): Slow frame!!! (16, g=4, w=12)
    11-09 13:43:03.088: W/System.err(25924): Avg draw time: 5
    11-09 13:43:03.218: W/System.err(25924): Slow frame!!! (13, g=8, w=5)
    11-09 13:43:03.308: W/System.err(25924): Slow frame!!! (22, g=16, w=6)
    11-09 13:43:03.318: W/System.err(25924): Slow frame!!! (14, g=10, w=4)
    11-09 13:43:03.348: W/System.err(25924): Slow frame!!! (11, g=8, w=3)
    11-09 13:43:04.109: W/System.err(25924): Avg draw time: 4
    11-09 13:43:05.030: W/System.err(25924): Slow frame!!! (31, g=29, w=2)
    11-09 13:43:05.060: W/System.err(25924): Slow frame!!! (11, g=3, w=8)
    11-09 13:43:05.070: W/System.err(25924): Slow frame!!! (15, g=11, w=3)
    11-09 13:43:05.150: W/System.err(25924): Avg draw time: 4
    11-09 13:43:06.191: W/System.err(25924): Avg draw time: 2
    11-09 13:43:07.202: W/System.err(25924): Avg draw time: 1
    11-09 13:43:08.243: W/System.err(25924): Avg draw time: 3
    11-09 13:43:09.275: W/System.err(25924): Avg draw time: 4
    11-09 13:43:09.965: W/System.err(25924): Slow frame!!! (29, g=28, w=1)
    11-09 13:43:10.025: D/dalvikvm(25924): GC_CONCURRENT freed 1721K, 62% free 3625K/9379K, paused 3ms+4ms
    11-09 13:43:10.296: W/System.err(25924): Avg draw time: 4
    11-09 13:43:10.736: W/System.err(25924): Slow frame!!! (14, g=11, w=2)
    11-09 13:43:10.756: W/System.err(25924): Slow frame!!! (14, g=3, w=11)
    11-09 13:43:10.776: W/System.err(25924): Slow frame!!! (14, g=1, w=13)
    11-09 13:43:11.307: W/System.err(25924): Avg draw time: 4
    11-09 13:43:11.337: W/System.err(25924): Slow frame!!! (17, g=3, w=14)
    11-09 13:43:11.357: W/System.err(25924): Slow frame!!! (14, g=3, w=11)
    11-09 13:43:11.387: W/System.err(25924): Slow frame!!! (12, g=2, w=10)
    11-09 13:43:11.797: W/System.err(25924): Slow frame!!! (17, g=14, w=3)
    11-09 13:43:12.328: W/System.err(25924): Avg draw time: 3
    11-09 13:43:13.319: W/System.err(25924): Slow frame!!! (19, g=3, w=16)
    11-09 13:43:13.349: W/System.err(25924): Avg draw time: 5
    11-09 13:43:13.379: W/System.err(25924): Slow frame!!! (14, g=10, w=4)
    11-09 13:43:13.970: W/System.err(25924): Slow frame!!! (14, g=11, w=3)
    11-09 13:43:14.410: W/System.err(25924): Avg draw time: 4
    11-09 13:43:15.061: W/System.err(25924): Slow frame!!! (12, g=9, w=2)
    11-09 13:43:15.081: W/System.err(25924): Slow frame!!! (13, g=3, w=10)
    11-09 13:43:15.111: W/System.err(25924): Slow frame!!! (23, g=16, w=6)
    11-09 13:43:15.461: W/System.err(25924): Avg draw time: 5
    11-09 13:43:16.142: W/System.err(25924): Slow frame!!! (18, g=3, w=15)
    11-09 13:43:16.162: W/System.err(25924): Slow frame!!! (14, g=11, w=3)
    11-09 13:43:16.482: W/System.err(25924): Avg draw time: 5
    11-09 13:43:17.223: W/System.err(25924): Slow frame!!! (17, g=14, w=3)
    11-09 13:43:17.243: W/System.err(25924): Slow frame!!! (15, g=4, w=11)
    11-09 13:43:17.503: W/System.err(25924): Avg draw time: 5
    11-09 13:43:18.054: W/System.err(25924): Slow frame!!! (17, g=9, w=8)
    

    你用的是什么android版本?我一直在运行android 4.0.4的HTC One X上测试,你知道这个@Brad的底细吗?我遇到了完全相同的问题,大多数帧都在16.667ms以下,但随机出现的一帧需要20-30秒,这会导致“起伏”的动画。即使将场景拆分为一个简单的四边形,问题仍然存在。这个问题已经讨论了很久,但始终无法弄清为什么会发生——干杯。