Получу ли я более точные или более быстрые показания акселерометра с Core Motion? - PullRequest
4 голосов
/ 31 марта 2011

Я могу использовать этот метод платформы Core Motion:

- (void)startAccelerometerUpdatesToQueue:(NSOperationQueue *)queue withHandler:(CMAccelerometerHandler)handler

как альтернатива

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration

UIAccelerationDelegate метод UIKit. Там я должен указать частоту обновлений. Я хочу получить данные ускорения как можно быстрее и точнее.

Является ли Core Motion моим другом здесь? Какую частоту чтения я могу ожидать от этого метода Core Motion? Документация не говорит об этом.

1 Ответ

7 голосов
/ 31 марта 2011

Редактировать!Теперь, когда этот ответ уже более года, безусловно, он имеет только историческую ценность.На этом этапе, я думаю, все должны использовать только CoreMotion и все.Надеюсь, этот исторический ответ поможет учащимся истории!


У меня сложилось впечатление, что: CMAttitude и CMDeviceMotion дают вам преимущество и ускоритель игироскоп (если гироскоп присутствует).Принимая во внимание, что CMAccelerometerData является только ускорением .(Точно так же, как в старые времена до Core Motion.)

У меня сложилось впечатление, что два конкретных преимущества CoreMotion:

(Один) ошеломляет удобство наличия кватернионов и отношениядано вам на серебряном блюде

(Два) очевидно, и гироскоп, и акселер используются на машинах с гироскопом, с никакой дополнительной работы с вашей стороны ... огромное преимущество.

Я полагаю, что нет фактического технического различия в качестве использования акселерометра как такового.

Таким образом: если (по какой-то причине) вывам нужен только акселер, и вы можете выполнять математику (если это имеет отношение к вашей задаче), вы можете использовать делегата акселератора старой школы.

Похоже, никто из насбудет когда-либо снова использовать делегат акселерометра старой школы!

...