Режимы процессора в Android

Если вы продвинутый пользователь Android устройства, то явно хотели, или уже меняли частоту и режимы работы процессора через разные утилиты. Но при выборе режима работы процессора возникает вопрос, какой лучше выбрать? В этой статье вы увидите описание режимов работы процессора, и прочитав сможете выбрать себе нужный.
Governor – диспетчер выбора частоты процессора. Все они находятся в ядре (kernel) и не могут быть добавлены отдельно от ядра. Задача драйвера — устанавливать некоторую оптимальную частоту в пределах выбранного минимума и максимума (scaling_min_freq и scaling_max_freq).

Powersave — Частота всегда равна минимальной. Иногда включают для экономии батареи при низком заряде или выключенном экране.

Performance — Частота всегда равна максимальной. Используют для тестов, получения устойчивых значений в benchmarks, или во время зарядки и подключения к компу. Это более быстрый режим чем закрепление минимальной частоты равной максимальной (в ondemand например), так как не происходит частых запросов на её изменение.

Userspace — Для ручного задания частот, которые не поддерживаются ядром. Не рекомендуется и практически никто не использует.

Ondemand — Присутствует в большинстве ядер по умолчанию. Через заданные промежутки времени (sampling_rate: ~ 10-20 миллисекунд) проверяет загрузку процессора и при достижении определенного порога (up_threshold ~80%) повышает частоту до максимума пока загрузка процессора не снизится.
Не содержит профилей для выключенного экрана, поэтому его часто устанавливают с powersave.

Conservative — Подобный предыдущему ondemand но изменение частоты вверх и вниз происходит не скачком а ступенчато (freq_step 5% от максимальной частоты, можно сконфигурировать от 0 до 100, при этом при 0 частота будет фактически заблокирована, а при 100 меняться скачком подобно ondemand). Добавлен ключ минимального порога загрузки процессора down_threshold (20%) при котором частота будет ступенчато снижаться.
По сравнению с ondemand медленнее отклик, но больше экономии батареи.

MinMax — Адаптация «conservative» и один из самых быстрых, но батарею держит предположительно хуже чем SmartassV2.
Старается минимизировать количество изменений частоты через ограничение частот – только минимум или максимум. Частота снижается и повышается в зависимости от текущей нагрузки и пороговых значений (down_threshold и up_threshold)

Interactive — Как и предыдущие, выставляет частоту в зависимости от нагрузки, но проверка загрузки наступает не через равные промежутки времени, а в случае выхода из простоя «idle» (+ таймер проверки через 1-2 такта после выхода из простоя). Если процессор загружен на 100% по выходу из простоя и по таймеру, то частота повышается до максимума. Если нет загрузки для повышения до максимума, то диспетчер проверяет как изменилась загрузка с последнего изменения частоты за промежуток времени min_sample_time, выбирая верхнее значение с последнего выхода из простоя для определения новой частоты.
Один параметр настройки — min_sample_time, минимальное количество времени на заданной частоте перед её снижением, по умолчанию 50-80 тыс. миллисекунд.
Режим Interactive быстрее чем Ondemand, и дает больший отклик при ничтожном увеличении потребления.

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

Smartass / SmartassV2 — Коротко – основан на Interactive но лучше. Полностью переписан interactive, внесены модификации и профили. Вторая версия очень популярна. Скорость рядом с MinMax, трудно сказать кто быстрее. Больше времени проводит на низких частотах для экономии батареи. Встроен профиль сна – частота минимальна при выключенном экране.
Содержит много настроек, основные:
— «идеальная» частота, к которой будет стремиться. Более быстрое изменение до этой частоты, чем выше или ниже её. Для первой версии smartass например «идеальная» может быть задана как 300 (и не выше) во время сна и 500 (и не ниже) при включенном экране. У второй версии больше гибкости, ограничения «не выше» и «не ниже» нет. Если вы слушаете плеер с выключенным экраном то можете найти определенную «идеальную» частоту для этого режима, ниже которой не будет лагов.
— sleep_ideal_freq идеальная частота для сна
— awake_ideal_freq для пробуждения при включении экрана

Smoothass — От создателя smartass v1-2 Erasmux.
Это измененный smartass v1 для увеличения скорости. Агрессивнее повышение частоты, выше отклик, выше расход батареи.

BrazilianWax — Вроде бы то-же самое что и Smoothass.

SavagedZen — Основан на Smartass. Хорошо сбалансирован по скорости и расходу заряда. Адаптирован к ядру 2.6.29 и процессору 1 GHz.

Scary — Основан на исходниках conservative с добавлением фич smartass. Не очень ясно зачем, так как у conservative медленное изменение частоты, а у smartass одно из самых быстрых.

Для батареи – 1е место InteractiveX, 2-е Smartass, 3-е SavagedZen
Для скорости – 1е место Minmax, 2-е Smartass2, 3-е SavagedZen»

Оставить отклик

Ваш адрес эл.почты не будет опубликован.