0

我们注意到,当您将带有视图动画的 Android 视图(没什么复杂的,只是 AlphaAnimation 和 TranslateAnimation)放在 GLSurfaceView 之上时,动画运行缓慢(即您会看到很多卡顿)。我在GLSurfaceView,我相信我已经确认(通过设置断点)在动画播放时 GL 绘制调用没有受到影响,所以我不确定缓慢来自哪里。

有谁知道解决这个问题的方法?我知道在 iPhone 上这也曾经是一个问题,但他们进行了一些操作系统更新来解决这个问题。它们是短视图动画(例如你赢了!)所以这不是世界上最糟糕的事情,但如果有一些解决方法会很好。

我们不在 GL 中制作动画的原因是它们必须能够从我们游戏中的任何 Activity 运行,并且并非我们所有的 Activity 都有 GLSurfaceViews。

最后,如果重要的话,我们将使用来自 Replica Island http://code.google.com/p/replicaisland/的修改后的 GLSurfaceView 源

4

1 回答 1

4

在 GLSurfaceView 上绘图很慢,因此动画也是如此。您正在迫使框架做更多的工作来确定表面视图的哪一部分是可见的。

当你使用表面视图时,你真的应该考虑在表面视图内做这些动画。

另一种方法是将动画放在活动上方的小窗口中。

于 2011-02-09T01:20:27.433 回答