有人知道iphone加速度计的最大采样率是多少。 我希望有更高的更新率。我将它设置为updateInterval为1.0 / 300.0 但似乎我没有获得那么多的更新率。
所以任何机构都可以告诉我,我们可以获得的最大更新率是多少,或者我如何获得高更新率。
答案 0 :(得分:2)
iPhone 6上的最大加速度计和陀螺仪采样率 100Hz 。您可以自己进行经验测试。这是代码。
padding-top: (insert number)px or %
答案 1 :(得分:1)
也许复制。看看
update frequency set for deviceMotionUpdateInterval it's the actual frequency?
Actual frequency of device motion updates lower than expected, but scales up with setting
如果使用旧的UIAccerometerDelegate接口,它应该是有效的。
答案 2 :(得分:0)
尽管文档说The maximum frequency at which you can request updates is hardware-dependent but is usually at least 100 Hz.
,但我认为最大采样率仍为100Hz 。
我弄清楚的方法是将CoreMotion的现有示例代码称为MotionGraphs,并将startUpdates
函数调整为:
func startUpdates() {
guard let motionManager = motionManager, motionManager.isGyroAvailable else { return }
sampleCount = 0
let methodStart = Date()
motionManager.gyroUpdateInterval = TimeInterval(1.0/100000.0) // Hardcoded to something verfy fast
motionManager.startGyroUpdates(to: .main) { gyroData, error in
self.sampleCount += 1
//...view update code removed
if (self.sampleCount >= 100) {
let methodFinish = Date()
let executionTime = methodFinish.timeIntervalSince(methodStart)
print("Duration of 100 Gyro samples: \(executionTime)")
self.stopUpdates()
}
}
}
我还设置motionManager.deviceMotionUpdateInterval = TimeInterval(1.0/100000.0)
以获得良好的衡量标准(如果是全球费率)。
根据加速度计和陀螺仪的代码,我确认iOS 11.4上的iPhone 8仍然在100Hz左右达到最大值。
Duration of 100 Accelerometer samples: 0.993090987205505
Duration of 100 Accelerometer samples: 0.995925068855286
Duration of 100 Accelerometer samples: 0.993505954742432
Duration of 100 Accelerometer samples: 0.996459007263184
Duration of 100 Accelerometer samples: 0.996203064918518
Duration of 100 Gyro samples: 0.989820957183838
Duration of 100 Gyro samples: 0.985687971115112
Duration of 100 Gyro samples: 0.989449977874756
Duration of 100 Gyro samples: 0.988754034042358