Анимация изображения с Core Graphics слишком медленная - PullRequest
0 голосов
/ 16 января 2012

Я создаю анимацию с использованием Core Graphics и CADisplayLink.

Я перерисовываю изображение в текущий графический контекст с каждым вызовом цикла CADisplayLink.Вот функция, в которой я рисую изображение при каждом вызове:

 - (void) drawImage {

//img is some uiimage
CGRect r = CGRectMake(0, 0, img.size.width, img.size.height);
CGImageRef i = [img CGImage];
CGContextDrawImage(context, r, i);



 }

Проблема в том, что анимация работает медленно, и я считаю, что это потому, что я каждый раз создаю растровое изображение, а не каким-то образомкеширую это.Есть ли способ кеширования растровых изображений?если да как?

Заранее спасибо.

1 Ответ

0 голосов
/ 17 января 2012

Не видя больше вашего кода или какого-либо вывода профилировщика, невозможно точно сказать, почему ваш код работает медленно. Однако, вместо того, чтобы рисовать изображение вообще, вы должны попробовать использовать UIImageView. Просто меняйте рамку представления изображения каждый раз, когда CADisplayLink уведомляет вас.

...