2013-06-02 33 views
0

如果這個問題聽起來很愚蠢,我很抱歉。如何在iOS上以最高FPS的圖像數組組合動畫?

我有一個由另一個項目生成的圖像數組,我想盡可能快地將它們顯示在屏幕上,以將它們組裝成動畫。我應該如何做到這一點,以達到幀速率至少高於30FPS?

我是iOS新手,我不確定從哪裏開始。我應該看看Core Animation還是OpenGL或Quartz2D或其他?有人可以指點我一個方向嗎?

非常感謝!真的很感謝幫助。

+0

您應該能夠使用UIImageView實現60 fps的幀速率。對於這樣一個簡單的動畫,你不需要知道Quartz2D或CoreAnimation。 – Felix

回答

0
imageView.animationImages = imagesArray; 
imageView.animationRepeatCount = 0; 
imageView.animationDuration = 35;//depends on how fast you want it 

imagesArray是圖像數組。每幀圖像。

希望這會有所幫助..

+0

非常感謝!我正在嘗試這個。我會讓你知道結果如何。 – RandomEnsemble

+0

你試過這個嗎? – lakesh

0

您不應該使用imageView.animationImages API。它會消耗你所有的應用內存。有關Video and Memory usage on iOS devices的問題的完整說明可用。一個快速的解決辦法是將幀保存爲一系列PNG圖像,但這不會給你60FPS,因爲解碼每個PNG圖像並將其閃爍到屏幕將花費太長的時間。爲您提供60FPS的真正解決方案是將每個圖像解碼爲BGRA格式的原始二進制數據的「關鍵幀」,然後根據需要對每個幀進行內存映射。我自己的代碼實現這個解決方案可以在上面的鏈接找到。