我们注意到,当您在GLSurfaceView上放置带有视图动画(没有任何复杂,只有AlphaAnimation和TranslateAnimation)的Android视图时,动画运行缓慢(即您看到很多口吃。)我叫暂停( )在GLSurfaceView上,我相信我已经确认(通过设置断点)在动画播放时GL绘制调用没有被击中,所以我不确定缓慢来自何处。
有没有人知道解决这个问题的方法?我知道在iPhone上这也是一个问题,但是他们做了一些OS更新来解决这个问题。它们是短视图动画(例如You Win!)所以它不是世界上最糟糕的东西,但如果有一些解决方法会很好。
我们没有在GL中制作动画的原因是它们必须能够从我们游戏中的任何活动中运行,而不是我们所有的活动都有GLSurfaceViews。
最后,如果重要,我们正在使用Replica Island http://code.google.com/p/replicaisland/的修改后的GLSurfaceView来源
答案 0 :(得分:4)
在GLSurfaceView上绘图很慢,因此动画也是如此。您正在强制框架执行更多工作以确定表面视图的哪个部分可见。
在使用曲面视图时,您应该考虑在曲面视图中进行这些动画。
另一种方法是将动画放在活动上方的小窗口中。