Задержка при получении данных датчика от gPhone? - PullRequest
1 голос
/ 09 марта 2010

Я работаю над проектом, использующим HTC magic, для которого требуются данные с электронного компаса, включая акселерометр и магнитный датчик.Но я обнаружил, что между перемещением телефона и триггером события sensorChanged существует значительная задержка.Другими словами, данные об ускорении и магнитах, полученные от датчика, обновляются примерно через полсекунды после моего движения.И у меня есть несколько вопросов по этой проблеме:

  1. Рассчитаны ли данные ориентации по данным ускорения и магнитного поля?Или есть физический датчик для ориентации?

  2. Происходит ли задержка из-за API Android (использующего событие) или физического ограничения электронного компаса?

  3. Говорят, что модель электронного компаса - AK8976A от Asahi Kasei.У кого-нибудь есть таблица данных или известна частота выборки?

  4. Есть идеи по улучшению опыта в реальном времени?

Спасибо зазаранее!

Ответы [ 2 ]

0 голосов
/ 29 декабря 2011

Я понял это. Оказывается, в 2.2 вы не можете использовать частоты сенсоров, отличные от стандартных SENSOR_DELAY_UI, SENSOR_DELAY_NORMAL и т. Д. В документации утверждается, что вы также можете указать количество микросекунд между уведомлениями, но они ложные.

Как только я использовал стандартные константы, он начал работать на 2.2

0 голосов
/ 09 марта 2010

Когда вы регистрируете SensorEventListener, какую скорость вы используете? Вы должны использовать SENSOR_DELAY_GAME, чтобы получить наилучший баланс между частыми обновлениями и не перегружать очередь обновлений, что может привести к замедлению обновления, если SENSOR_DELAY_FASTEST.

Что касается других ваших вопросов, я думаю, что они спорные. Независимо от того, задержка обновления, которую вы видите, вызвана API или самим компасом, вы не можете ее изменить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...