2011-02-09 62 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