2010-02-03 106 views
0

在我目前的iPhone遊戲項目中,我使用的是一些遊戲元素(他們是瓷磚)的UIView。一個接一個的動畫效果很好,或者在一個小系列中(5個UIView同時進行動畫製作)。動畫多個UIVIew導致問題

但是,一旦我決定讓這些相同的UIView更加大規模地動起來,我開始出現一些怪異的渲染問題(整個iPod touch屏幕變黑,然後閃迴游戲視圖,一旦動畫完成或接近完成,其他情況下屏幕在黑色和實際遊戲視圖之間閃爍,同時它試圖進行動畫處理)。

我已經做了幾個測試,迄今爲止它似乎高達18 UIView被動畫我沒有任何問題,但是一旦我到了30 UIView,我看到這個渲染問題。我正在使用的動畫過渡是從右側翻轉過來的。

是否有一個可以同時運行的動畫線程的最大值?

我在我的子類UIView上調用標準的開始動畫提交動畫的方法。我將緩存設置爲YES。

任何想法可能導致渲染錯誤的原因是什麼?

感謝您的協作。

回答

1

沒有可以同時運行的動畫的明確最大值。

但是,每個動畫都會使用內存和CPU使用率。這當然很大程度上取決於你正在做的動畫的種類。

所以你可能試圖在同一時間做太多的動畫。

使用動畫UIView對很多事物都很有用,但有時候你必須使用更適合的東西,比如OpenGL。也許你正處於這種情況。

0

如果試圖用UIView動畫做很多事情,可能會遇到內存問題或GPU限制。您可能想嘗試使用圖層進行此操作,但是GPU可以處理的內容有限。