システム時間の機能時間(0)は1秒の解像度を与えます。iPhoneで1秒より細かいシステム時間にアクセスするには
細かい関数がありますか?
私は、2つのイベント間の時間間隔を決定するために使用しています。
コード行が大いに役立ちます。それは、私が公式の文書を見るときにコンセプトを掛けるために何か具体的なものを持つことを容易にします。
システム時間の機能時間(0)は1秒の解像度を与えます。iPhoneで1秒より細かいシステム時間にアクセスするには
細かい関数がありますか?
私は、2つのイベント間の時間間隔を決定するために使用しています。
コード行が大いに役立ちます。それは、私が公式の文書を見るときにコンセプトを掛けるために何か具体的なものを持つことを容易にします。
がCFAbsoluteTimeGetCurrentを参照してください:
CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
// do something you want to measure
CFAbsoluteTime end = CFAbsoluteTimeGetCurrent();
NSLog(@"operation took %2.5f seconds", end-start);
あなたはCFAbsouteTime
があまりにも冗長見つける必要があり、あなたは単に代わりにdouble
を使用することができます。
gettimeofday()
をお探しですか?それはtime()
に類似したサブ秒の解像度タイミングのための主要なPOSIX関数です。
Native App Development for the iPhoneを参照してください。
self.animationTimer = [NSTimer scheduledTimerWithTimeInterval:animationInterval
target:self selector:@selector(drawView) userInfo:nil
repeats:YES];
これはOpenGLアプリテンプレートのスニペットです。あなたが高解像度のタイマーを探しているなら、それはおそらくあなたが必要とするものです。
NSDate
はdouble
(Appleは言う通り、 "sub-millisecond precision in an 10,000 years")を返すtimeIntervalSinceDate:
メソッドを持っています。
NSDate *start = [NSDate date];
…
NSTimeInterval duration = [[NSDate date] timeIntervalSinceDate:start];
あなたはそれを使って2回の違いを得る方法を知っていますか? – willc2
timeIntervalSince1970を使用して比較します。これは数秒で与えられますが、小数点以下の桁数が多いため、1000を掛けてmsecなどを得ることができます。 –
+1のように実際のコードを入れてください。ありがとう@ゾウ。 – willc2
聖なる煙、私の質問は、すでに "システム時間(0)"のGoogleの結果に表示されています – willc2
これは重要です:CFAbsoluteTimeGetCurrentから値が返されます:秒単位の倍数ですが、サブミリ秒です。私はAppleのドキュメントがこの点について誤解を招くことがあることを知っています。 – Ant