我有一个 CMMotionManager 设置,其中 deviceMotionUpdateInterval 设置为 100 HZ,如下所示:
motionManager = [[CMMotionManager alloc] init];
motionManager.deviceMotionUpdateInterval = 1/100.0;
我正在使用这样的块来从陀螺仪获取偏航值
[motionManger startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMDeviceMotion *motion, NSError *error) { //get yaw values}];
我还有一个 CABasicAnimation 在同一个块中进行动画处理。我将每个动画的持续时间设置为 0.01 秒。动画是一个圆形进度条,表示设备旋转了多少度。这在 iPhone 5 上完美运行。但是在 iPhone 4 和 4S 等旧设备上,进度条填充与设备旋转的实际度数值之间存在显着延迟。基本上,如果手机快速旋转 180 度,进度条填充速度会慢得多,才能到达 180 度点。在 iPhone 5 上的相同场景中,进度条会瞬间处于 180 度点。
我的问题是,我能做些什么来提高性能,使动画像 iPhone 5 一样流畅且瞬间准确?