Я делаю анимацию с executeSelector: withObject: afterDelay со скоростью 24 кадра в секунду.
(причина в том, что UIImageView не поддерживает разные интервалы между изображениями)
Когда я запускаю несколько анимаций одновременно, создается впечатление, что сообщение, помещенное в очередь executeselector, занимает много времени для получения.
Мне интересно, NSTimer или еще один будет лучшим выбором.
Спасибо
Я ничего не делаю, кроме запуска анимации.
Селектор, который я использую, занимает 0,0003 времени ожидания (почти без времени)
Но когда я измеряю время между вызовом "executeSelector" и временем, когда фактически вызывается селектор, время фактически больше, чем я указал в "afterDelay" или "scheduleTimerWithDuration"
Я уже посмотрел на инструменты, но не мог понять, что является причиной задержки.
Я только что видел активность, связанную с потоками (я думаю, что приостановка / возобновление потоков).
Может быть, мой приведенный ниже код ThreadMain занимает много времени?
- (void) myThreadMain
{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
// Add your sources or timers to the run loop and do any other setup.
NSRunLoop *runloop = [NSRunLoop currentRunLoop];
[runloop addPort:[NSMachPort port] forMode:NSDefaultRunLoopMode];
do
{
// Start the run loop but return after each source is handled.
SInt32 result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, 10, YES);
}
while (self.isNeedToExit == false);
[pool release];
SYSLOG(LOG_DEBUG, "thread exiting");
}