Re: NSTimer Question
Re: NSTimer Question
- Subject: Re: NSTimer Question
- From: Jean-Daniel Dupas <email@hidden>
- Date: Mon, 16 Feb 2009 15:13:28 +0100
Le 16 févr. 09 à 13:44, Andreas Grosam a écrit :
Hello,
how does a NSTimer object that has been setup with a repeating time
interval calculate the time when it fires an event?
There may be two possibilities:
Say, the initial time is at t0, the interval is T, and the time when
it fires the first event is at t1, the second at t2, etc.
The time when it fires the ith event will be ti:
A)
ti = t (i-1) + T
B)
ti = i * T + t0
Reason:
If I need a "tick" that corresponds to a current time, I would
prefer method B (mean error remains stable).
In case A the firing time may fade away with respect to the initial
time due to inherent inaccuracies. Although this error is certainly
small compared to the error that we have when we measure the time
when we actually do handle the event, but it may accumulate over a
long duration. That is the error increases with time.
The class overview in the NSTimer reference page adresses this topic
in a detailed way.
A repeating timer reschedules itself based on the scheduled firing
time, not the actual firing time. For example, if a timer is scheduled
to fire at a particular time and every 5 seconds after that, the
scheduled firing time will always fall on the original 5 second time
intervals, even if the actual firing time gets delayed. If the firing
time is delayed so far that it passes one or more of the scheduled
firing times, the timer is fired only once for that time period; the
timer is then rescheduled, after firing, for the next scheduled firing
time in the future.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden