CADisplayLinkからコールバックを受け取っています。リンクのタイムスタンプはCFTimeIntervalです。そのタイムスタンプをuint64でホストタイムに変換するにはどうすればよいですか?
ありがとう!
CADisplayLinkからコールバックを受け取っています。リンクのタイムスタンプはCFTimeIntervalです。そのタイムスタンプをuint64でホストタイムに変換するにはどうすればよいですか?
ありがとう!
これは、マッハ時間の秒への変換を説明するドキュメントです。 https://developer.apple.com/library/ios/qa/qa1643/_index.html
#include <mach/mach_time.h>
...
struct mach_timebase_info timeBaseInfo;
mach_timebase_info(&timeBaseInfo);
CGFloat clockFrequency = (CGFloat)timeBaseInfo.denom / (CGFloat)timeBaseInfo.numer;
clockFrequency *= 1000000000.0;
// clock frequency (for me) is 24000000
CGTimeInterval は秒単位であるため、次のように簡単に実行できます。
uint64_t displayLinkTime = displayLink.timeStamp * clockFrequency;