Дорого ли стоит NSTimer? - PullRequest
       11

Дорого ли стоит NSTimer?

5 голосов
/ 09 апреля 2009

Я использую около 20 UIImageView с небольших изображений самолетов (50x50 пикселей), делая простую анимацию на экране iPhone. Анимация выполняется путем сдвига свойства UIImageView center с интервалом таймера.

[NSTimer scheduledTimerWithTimeInterval:0.01
                                 target:self
                               selector:@selector(timerFired:)
                               userInfo:nil
                                repeats:YES]

Какова лучшая практика: создать один NSTimer и зациклить 20 UIImageView s, чтобы установить свойство center при срабатывании таймера? Или мне просто создать один NSTimer на UIImageView объект? Является ли ресурс NSTimer дорогим?

Ответы [ 2 ]

4 голосов
/ 09 апреля 2009

Не думаю, что это ресурсоемкий процесс, но здравый смысл, похоже, диктует, что использование 1 таймера, вероятно, лучше, чем 20.

Похоже, ваш таймер настроен на срабатывание 100 раз в секунду, что кажется немного чрезмерным. Вы оживляете каждый спрайт при каждом срабатывании таймера? Возможно, вам захочется попробовать выстрелить 20-30 раз в секунду (или, может быть, даже меньше).

Возможно, вы захотите взглянуть и на встроенные функции анимации вида. Похоже, что они, вероятно, будут очень хорошо работать для того, что вы делаете.

3 голосов
/ 09 апреля 2009

вы можете попробовать оба варианта и использовать встроенные инструменты профилирования, которые поставляются с Xcode, чтобы оценить использование ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...