我正在使用这个样板来测试 iOS 5.1.1 (4s) 上某些视频设置的性能:
static mach_timebase_info_data_t sTimebaseInfo = { 0, 0 };
if ( sTimebaseInfo.denom == 0 ) {
kern_return_t err = mach_timebase_info(&sTimebaseInfo);
if (err) {
NSLog(@"unable to get mach timebase info: %d",err);
}
}
uint64_t start = mach_absolute_time();
uint64_t end;
uint64_t elapsed;
uint64_t elapsedNano;
// stuff
end = mach_absolute_time();
// Calculate the duration.
elapsed = end - start;
elapsedNano = elapsed * sTimebaseInfo.numer;
elapsedNano /= sTimebaseInfo.denom;
但 sTimebaseInfo.denom 始终为 0,即使在 mach_timebase_info 运行之后也是如此。它没有错误。我不知道该怎么办。:) 不必以纳秒为单位获取值;显然,我可以在没有的情况下比较结果。但肯定会很好。
帮助?:)