Будет ли иметь два NSTimers в одном классе, чтобы они были менее точными? - PullRequest
0 голосов
/ 02 июня 2011

У меня есть один NSTimer, который является моим основным игровым циклом, он вызывает 60 раз в секунду. У меня есть еще один таймер обратного отсчета, который вызывается 0,001 раза в секунду. Это нормально, что таймер не является точным? или я должен вызывать таймер обратного отсчета меньше раз в секунду?

Ответы [ 2 ]

3 голосов
/ 02 июня 2011

NSTimers не точны. Указанный вами интервал времени - просто цель. NSTimer будет пытаться достичь этой цели, но чем больше вещей вы запустите в этом потоке, тем медленнее будет время цикла. Ваш таймер 0,001, вероятно, идет слишком быстро, чтобы быть полезным, и будет страдать от проблем с точностью. Если вам нужна точность в реальном времени, вам придется отслеживать, в какое время таймер фактически срабатывает с NSDate, и соответственно компенсировать.

2 голосов
/ 02 июня 2011

Если я правильно читаю ваш вопрос, второй таймер (который, я полагаю, срабатывает каждые 0,001) секунды не будет точным.

NSTimer имеет разрешение около 50-100 миллисекунд (0,05 с-0,1 с), и это может значительно повлиять, если загружен цикл выполнения.

...