2013-06-02 3 views
0

Извиняюсь заранее, если этот вопрос звучит глупо.Как собрать анимацию из массива изображений с самым высоким FPS, возможным для iOS?

У меня есть массив изображений, созданных другим проектом, и я хочу показать их на экране как можно быстрее, чтобы собрать их в анимацию. Как мне сделать это для достижения частоты кадров, по крайней мере выше 30FPS?

Я новичок в разработке iOS, и я не уверен, с чего начать. Должен ли я смотреть в Core Animation или OpenGL или Quartz2D или что-то еще? Может ли кто-нибудь указать мне направление?

Большое спасибо! Очень ценю помощь.

+0

Вы должны иметь возможность достичь частоты кадров 60 кадров в секунду с использованием UIImageView. Вам не нужно знать о 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

Вы не должны использовать API imageView.animationImages. Он будет потреблять всю память вашего приложения. Доступно полное описание проблемы с Video and Memory usage on iOS devices. Быстрое исправление будет состоять в том, чтобы сохранить ваши кадры в виде серии изображений PNG, но это не даст вам 60FPS, потому что для декодирования каждого PNG-изображения потребуется слишком много времени, и он будет близок к экрану. Реальное решение, которое даст вам 60FPS, - это декодировать каждое изображение в «ключевые кадры» необработанных двоичных данных в формате BGRA, а затем при необходимости отображать карту каждого кадра. Мой собственный код, реализующий это решение, можно найти по ссылке выше.