Какова гранулярность таймера iPhone 4S? - PullRequest
2 голосов
/ 07 января 2012

Поскольку iPhone4S имеет тактовую частоту 800 МГц, возможно, таймер имеет частоту 200 МГц (5 нсек)? Кто-нибудь знает, какой может быть самый короткий период цикла?

Ответы [ 2 ]

4 голосов
/ 07 января 2012

со справочной страницы NSTimer :

Из-за различных источников входного сигнала, которыми управляет типичный цикл выполнения, эффективное разрешение временного интервала для таймера ограниченопорядка 50-100 миллисекунд.Если время срабатывания таймера происходит во время длительного вызова или когда цикл выполнения находится в режиме, который не контролирует таймер, таймер не срабатывает, пока в следующий раз цикл выполнения не проверит таймер.Следовательно, фактическое время срабатывания таймера потенциально может быть значительным периодом времени после запланированного времени срабатывания.

Опять же, это для NSTimer, который вы обычно используете для запуска событий, которые должныслучиться в определенное время или через определенные промежутки времени.Если вы пытаетесь измерить прошедшее время, вы можете получить гораздо более точный результат, чем 100 мс, но я не вижу документированной точности в документах.

1 голос
/ 07 января 2012

Попробуйте включить mach / mach_time.h, mach_time (), кажется, обеспечивает временные интервалы с микросекундным разрешением или лучше, и не имеет проблем с немонотонностью, как NSDate.

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