R0stislav
@R0stislav

Как влияет distance filter на расход заряда батареи?

На iOS девайсах (да и наверное и не только на них) мы можем регулировать получение координат с приемника с помощью distance filter.

Логически рассуждая получается, что вне зависимости от выставленного фильтра, gps приемник всегда включен, ведь должны же мы как-то понимать, что мы не вышли за заданный фильтру радиус. Но есть надежда что есть какие-либо оптимизации на уровне самого девайса. Если есть, то какие?

Чтобы упросить конечный вопрос, перефразирую:
Представим что я двигаюсь по прямой 5км. Есть ли разница, с точки зрения энергопотребления gps приемника, если я выставлю distance filter = 1) 1км 2) 100м 3) вообще отключу его?
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
Зуб не даю, но gps работает постоянно, операционка мониторит пройденное расстояния и при достижении барьера передаёт координаты в приложение. Экономия тут только на том, что ваше приложение будет не так часто посыпаться.

Вот собственно что говорит сам Апле
If GPS-level accuracy isn’t critical for your app and you don’t need continuous tracking, you can use the significant-change location service. It’s crucial that you use the significant-change location service correctly, because these updates run continuously, around the clock, until you stop them, and can actually result in higher energy use if not employed effectively.

Т.е. намекает вам, не думайте, что это большая экономия и не забудьте выключить когда уже не нужно.
Ответ написан
Комментировать
Moskus
@Moskus
Логика рассуждений верна, но цепочка выводов - не обязательно, потому что не рассмотрены некоторые технические детали.

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

Скажем, вот что пишет про свой довольно новый чипсет BCM4774 фирма Broadcom:
The BCM4774 offloads the data calculations from the system applications processor (AP), enabling the AP to sleep for longer periods of time.


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

То, что сказано выше, также мое обоснованное предположение, потому что документацией на программный интерфейс конкретного чипсета (а он вроде как установлен в iPhone 7 и выше) я не располагаю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы