ВНИМАНИЕ! Ручное изменение частоты CPU может привести к зависанию, нестабильной работе и теоретически даже к повреждению устройства. Делаем всё на свой страх и риск! Есть три основных параметра, влияющих на энергопотребление процессора, которые можно изменить: частота, режим управления частотой, напряжение.
Частота.Все современные устройства могут динамически управлять частотой своего процессора в зависимости от его загрузки, тем самым регулируя его производительность и энергопотребление. Однако, это не всегда может происходить правильно и наиболее оптимально, в следствии чего у аппарата будет не экономичный расход энергии. При этом, при отсутствии активных приложений, выключенном экране, частота процессора снижается до минимального значения, прописанного в Ядре прошивки, как правило это 15-30% от максимальной частоты. В правильно оптимизированном устройстве, со средней повседневной нагрузкой, большую часть времени процессор будет работать именно на минимальной частоте. Соответственно оценить оптимизацию энергопотребления процессора устройства можно посмотрев статистику работы процессора на той или иной частоте. Для этого открываем приложение
Android System Info,, выбираем вкладку
System и пункт
CPU.

Если там вы видите, что большую часть времени процессор работает на максимальной частоте, значит с оптимизацией есть проблема. При этом, в первую очередь нужно посмотреть графики загрузки процессора в программах мониторинга, SystemPanel. Если процессор не грузит какое-либо приложение, за счёт чего его частота поднимается, значит не правильно работает штатный режим управления частотой.
Для исправления ситуации устанавливаем
® SetCPU , с помощью которого можно не только задать рабочую частоту процессора (или уточнить диапазон рабочих частот), но и создать профили частот, активируемые по какому-либо событию (запуску приложения, уменьшению заряда, отключению экрана, времени), то есть оптимизировать процесс управления частотой под себя.
Например, частоту в рабочем режиме можно установить не более 1000-1200 МГц; по событию "экран выключен" и "заряд менее 15%" максимальную частоту ограничить половиной от рабочей частоты, а минимальную - установить на минимум; задать профили для часто запускаемых приложений с ограничением их максимальной рабочей частоты той величиной, при которой сохраняется комфортная для тебя отзывчивость интерфейса (так для игр вполне может хватить 800 МГц, а для просмотра фильмов и прослушивания музыки 500 МГц). Такой подход поможет сэкономить до 50% заряда расходуемого процессором.
- Ручное уменьшение максимальной частоты лишь на 10-15% мало повлияет на увеличение времени автономной работы, я советую уменьшать частоту в обычном режиме не менее чем на 25%.
- Учтите, что чем экономичнее режим работы CPU (и фактически меньше средняя частота его работы), тем менее отзывчивее может стать интерфейс и ниже общая скорость работы устройства. Протестируйте разные режимы работы и подберите наиболее оптимальный для вас по соотношению удобство работы/экономичность.
Режимы управления частотой процессора. Эти режимы (алгоритмы) определяют, как будет изменяться частота процессора, в каких пределах и как быстро, в зависимости от испытываемой процессором загрузки, её длительности и т.п. Режимы управления частотой и шаг изменения частоты заложены в Ядре и их набор для разных прошивок может отличаться.
В большинстве ядер существует 5 режимов работы CPU:
ondemand - пошаговое повышение работы частоты ЦП, в зависимости от нагрузки. Общий смысл принципа работы - каждые 20-200 мс замеряется нагрузка на cpu, общая или пользователем, и если нагрузка на текущей частоте более 95% - частота повышается, если менее 20% - частота понижается на 1 шаг. Частоту замера, % загрузки перехода и остальное для всех режимов выставляется при компиляции ядра.
hotplug - основан на ondemand, на многоядерных устройствах отключает в простое не задействованные ядра. Подробное описание
здесь.
conservative - тоже, что и ondemand, но нагрузка для перехода частоты процессора в большую или меньшую сторону меньше - обычно 20%. Например: доступно 100-200-400-800-1000 MHz, работаем на 200 MHz, нагрузка возросла на 30%, переходим на 400 Mhz.
performance - макс доступная частота, макс производительность.
powersave - минимум производительности, максимум батареи.
userspace - работает на заданных пользователем частотах.
На современных многоядерных устройствах наиболее предпочтительнее использовать режим
hotplug, или
ondemand, если первый у вас отсутствует. Если идёт речь об экстремальном энергосбережении, тогда подойдут режимы
powersave и
userspace (с ручным выставлением частот).
Выбрать соответствующий режим работы для своего процессора можно всё в том же
® SetCPU .
- В модифицированных ядрах могут присутствовать дополнительные режимы:
Interactive - интерактивный режим, гоняет частоту ЦП в реальном времени, почти всегда на полную производительность.
Smartass - режим, основанный на Interactive. Отличается более быстрым снижением частоты в простое, а также понижает частоту до минимума при выключенном экране.
X-версии Ondemand, Smartass, Interactive - эти режимы основаны на оригинальных режимах + во время сна выставляется режим Conservative.
- У меня при процессоре на 1000 МГц, я использую следующие установки:
-обычный режим 100-800 МГц (ondemand). Субъективно это увеличивает время работы примерно на 15-20%.;
-просмотр фильма (при длительной поездке к примеру) 100-400 МГц (ondemand). Время просмотра фильмов при этом увеличивалось на 30-40%.
Во всех режимах каких-либо "зависаний" устройства не наблюдалось.
Уменьшение напряжения процессора (андервольтинг).