iPhone: быстро обновляющий акселерометр (на 60 Гц) истощают батарею?

Я делаю основанное на акселерометре приложение с помощью cocos2d, и я заметил, что возможно установить интервал обновления акселерометра.

[[UIAccelerometer sharedAccelerometer] setUpdateInterval: (1.0f / 60.0f)];

Действительно ли обновление является акселерометром очень часто как это (60 раз в секунду) значительная разрядка батареи?

7
задан Ben Mosher 18 June 2013 в 19:37
поделиться

4 ответа

Согласно паспорту акселерометра LIS302DL , он потребляет ~ 0,75 мВт мощности при частоте обновления 100 Гц и 0,0025 мВт энергии в режиме ожидания (т. Е. При отсутствии показаний) .

Итак, краткий ответ - «Да», но я не могу представить эти цифры в перспективе, чтобы дать вам представление, скажем, «сколько минут вовремя» уходит из батарея.

Я бы порекомендовал провести небольшое тестирование. Найдите самую низкую частоту обновления, обеспечивающую удовлетворительные результаты.

9
ответ дан 6 December 2019 в 06:35
поделиться

Учитывая цифры в принятом ответе, использование энергии фактическим акселерометром является тривиальным. Ваш реальный удар будет происходить от того, что ваше приложение должно обрабатывать события и таким образом заставлять CPU не спать чаще.

В 3GS установлен аккумулятор емкостью 4,51 Вт-ч. Потребление энергии только от акселерометра при работе на частоте 100 Гц уничтожит батарею за (примерно) 6000 часов (если предположить, что значение 0,75 мВт верно)

(Также iPhone 4 имеет батарею 5,25 Вт-ч, 4S 5,3 Вт-ч и 5 5,45 Вт-ч, если вам интересно)

.
15
ответ дан 6 December 2019 в 06:35
поделиться

Из Руководства по обработке событий для iPhone OS :

При настройке интервала обновления для событий ускорения лучше всего выберите интервал, который минимизирует количество доставленных событий и еще отвечает потребностям вашего приложения. Некоторым приложениям требуется ускорение события доставляются 100 раз в секунду. Использование более низкой частоты предотвращает приложение не запускается так часто и Таким образом, можно продлить срок службы батареи.

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

Также из Руководства по программированию приложений iPhone :

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

2
ответ дан 6 December 2019 в 06:35
поделиться

http://www.google.com/search?hl=en&client=firefox-a&hs=7ew&rls=org.mozilla%3Aen-US%3Aofficial&q=iPhone+accelerometer+battery+drain&aq=f&aqi=m1&aql=&oqai=&gs_r =

Я отвечу "да". Он разряжает аккумулятор быстрее. И 60 раз в секунду - это избыточно.

1
ответ дан 6 December 2019 в 06:35
поделиться