2011-02-09 22 views
0

我们已经注意到,当您在GLSurfaceView顶部放置视图动画(没有复杂的,只是AlphaAnimation和TranslateAnimation)的Android视图时,动画运行缓慢(即您看到很多)我在GLSurfaceView上调用暂停(),我相信我已经确认(通过设置断点)GL绘制调用在动画播放时没有被击中,所以我不确定缓慢来自。GLSurfaceView顶部的Android视图动画很慢

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

我们没有在GL中做动画的原因是他们必须能够从我们游戏中的任何Activity运行,而不是我们所有的活动都有GLSurfaceViews。

最后,如果它很重要,我们正在使用从副本岛http://code.google.com/p/replicaisland/

回答

4

借鉴了GLSurfaceView顶部的修改GLSurfaceView源是缓慢的,因此动画是为好。你迫使框架做更多的工作来确定表面视图的哪一部分是可见的。

当您使用表面视图时,您应该考虑在曲面视图中执行这些动画。

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

+0

通过小窗口,你的意思是用对话框大小的窗口产生另一个活动吗?在这种情况下,绘图代码是否做得更快? – 2011-02-10 23:44:06