iPhone: быстро разряженный (60 Гц) акселерометр разряжает батарею? - PullRequest
7 голосов
/ 26 июня 2010

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

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

Обновление акселерометра происходит очень часто, как это (60 раз в секунду)) значительный расход батареи?

Ответы [ 4 ]

15 голосов
/ 26 июня 2010

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

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

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

9 голосов
/ 26 июня 2010

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

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

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

2 голосов
/ 26 июня 2010

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

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

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

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

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

1 голос
/ 26 июня 2010

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=&oq=&gs_rfai=

Мой ответ - да. Это разряжает батарею быстрее. И 60 раз / сек. Это чрезмерно.

...