-
Notifications
You must be signed in to change notification settings - Fork 63
Open
Description
If the app is running at less than 60 fps, the NSTimer is not called quickly enough and the tween runs too slowly.
I have made another fix to my local copy, whereby each frame it calculates timeOffset based upon CFAbsoluteTimeGetCurrent(), adding a new ivar lastAbsoluteTime:
- (void)update
{
timeOffset += (lastAbsoluteTime == 0) ? kPRTweenFramerate : (CFAbsoluteTimeGetCurrent() - lastAbsoluteTime);
lastAbsoluteTime = CFAbsoluteTimeGetCurrent();
...
Also resetting lastAbsoluteTime when the NSTimer is reinitialised (as per my other issue):
if (timer == nil)
{
lastAbsoluteTime = 0;
timer = [NSTimer scheduledTimerWithTimeInterval:kPRTweenFramerate target:self selector:@selector(update) userInfo:nil repeats:YES];
}
Metadata
Metadata
Assignees
Labels
No labels