Linux
May 8, 2020

Что такое «governor» и какой выбрать режим управления частотой процессора

Сразу ответ на первый вопрос: governor — это регулятор выбора частоты процессора. То есть это некий алгоритм, позволяющий управлять поведением процессора в зависимости от различных условий. Все они находятся в ядре linux и не могут быть добавлены отдельно от ядра. Задача этого диспетчера — устанавливать некоторую оптимальную частоту в пределах выбранного минимума и максимума (scalingminfreq и scaling_mmaxeq).

Буду в этом посте называть governor регулятором или говернером — ну не губернатором же его называть 🙂

На что нужно обратить внимание при выборе регулятора процессора:

  • Скорость. Обычно большая скорость несколько снижает срок работы от аккумулятора, так что стоит смотреть не только на производительность, но и на то, как себя ведет батарея при этой скорости работы. Если не собираетесь играть в требовательные к производительности игры, стоит искать баланс между скоростью работы и автономностью.
  • Автономность. Обычно при увеличении срока службы устройства при работе от батареи заметно страдает производительность: гаджет начинает подтормаживать при требовательных к ресурсам операциях, пропадает плавность, а бывает, что и просто появляются зависания. Тут также стоит методом проб и ошибок найти баланс.
  • Стабильность. Некоторые «гувернеры» ведут себя крайне нестабильно на одном девайсе, и довольно неплохо на других… Тут много зависит от того, насколько открыт исходный код ядра производителем, комбинаций различных патчей и… настроения разработчика 🙂 Чаще всего, выясняется методом тестирования на собственном гаджете.
  • Плавность. Это не одно и тоже, что и первый пункт: смартфон может работать быстро, однако совершенно не плавно. Проще всего проверяется прокруткой длинных списков вниз/вверх или просто открытием/закрытием приложений. Понятно, что если девайс работает быстро, но рывками, впечатление от пользования им будет совсем не то…

Итак, собственно, перехожу к перечню известных диспетчеров управления частотой процессора (governor).

В большинстве своем, их можно разбить на группы:

  1. Основанные на Ondemand: такие как Ondemand, OndemandX, Intellidemand, Lazy, Lagfree, PegasusQ, HYPER, Wheatley, Hotplug, HotplugX, AbyssPlug, AbyssPlugv2, Nightmare, Sleepy…
  2. Основанные на Conservative: Conservative, Lionheart, LionheartX…
  3. Основанные на Interactive: Interactive, InteractiveX, Intelliactive, Lulzactive, Luzactiveq, Smartass, SmartassV2, SmartassH3, Brazilianwax, SavagedZen, Dyninteractive, Interactive Pro…
  4. Гибридные (комбинация двух и более говернеров): Smartmax, Dancedance, Performance May Cry(PMC), Ktoonservative, KtoonservativeQ…
  5. Некая своеобразная категория (входят в стандартный набор доступных регуляторов на большинстве стоковых ядер): Userspace, Powersave, Performance, Min Max, ZZmove, MSM DCVS, IntelliMM.

OnDemand

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

OnDemandX

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

OndemandQ

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

Powersave

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

Performance

Работает с точностью да наоборот по сравнению с предыдущим: постоянно использует максимально доступную частоту процессора. Пользоваться им в повседневной жизни не стоит, так как аппарат очень сильно греется, ведь процессор постоянно в напряжении.

Conservative

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

Userspace

Для ручного задания частот. Позволяет целиком и полностью настроить работу процессора. Не рекомендуется и практически не используется из-за сложностей в настройке.

Min Max

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

Interactive

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

InteractiveX

По аналогии с OnDemandX — это Interactive с профилем для сна, также настроен профиль для выхода из этого режима. Несколько меньше расходует батарейку.

InteractiveX v2

Разработан пользователем под ником Imoseyon (с использованием кода ядра Lean Kernel для Galaxy Nexus). Регулятор InteractiveX v2 ведет себя практически идентично с InteractiveX, разве что дополнительно принуждает использовать лишь одно ядро процессора в состоянии выключенного экрана устройства.

Intelliactive

Основан на регуляторе Interactive со следующими улучшениями: улучшение собственных возможностей входных драйверов (не нужна помощь PowerHAL); двухфазное планирование (фазы idle/busy для предотвращения прыжков напрямую к максимальной частоте);проверка отключенных ядер и замыканий, исключая некоторые ненужные проверки для избежания горячего подключения. Это один из наиболее ориентированных на производительность регуляторов, не намного отличающийся по коду от Interactive.

Hellsactive

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

InteractiveB

Основанный на Interactive регулятор с более сбалансированными профилями между расходом заряда батареи и производительностью.

InteractivePro

Новейшая (модифицированная) версия Interactive, которая оптимизирована для девайсов типа One Plus One. Это более эффективная версия по сравнению с первоначальным Interactive, потому что этот регулятор постоянно вычисляет оптимальные нагрузки каждого ядра процессора, позволяя процессору эффективно масштабировать частоты.

Arteractive

Это доработка регулятора Interactive с обновленным исходным кодом. Содержит множество оптимизаций для процессоров Snapdragon 80x.
Smartass

Появился благодаря работе разработчика Erasmux, который целиком переписал код Interactive-говернера, основной задачей была поставлена продолжительная работа от батарейки без потери производительности. Скорость рядом с MinMax, трудно сказать кто быстрее. Однако, не так хорош для заряда батареи по сравнению с SmartassV2.

SmartassV2

Вторая версия оригинального Smartass от Erasmux. Один из любимцев большинства пользователей. Говернер расчитан на работу на «идеальной частоте» и повышает частоту несколько более агрессивно, нежели понижает. Используются различные «идеальные» частоты для скрин-он и скрин-офф профилей, называются awake_ideal_freq и sleep_ideal_freq. Задача данного говернера — баланс между энергопотреблением и производительностью. Регулятор находит «идеальную» частоту, к которой будет стремиться (Более быстрое изменение до этой частоты, чем выше или ниже ее. Для первой версии smartass например «идеальная» может быть задана как 300 (и не выше) во время сна и 500 (и не ниже) при включенном экране. У второй версии больше гибкости, ограничения «не выше» и «не ниже» нет. Если вы слушаете плейер с выключенным экраном то можете найти определенную «идеальную» частоту для этого режима, ниже которой не будет лагов).

SmartassH3

Основан на SmartassV2. Более эффективное изменение частоты. Не наращивает слишком высоко, когда это не нужно, благодаря этому лучше экономится энергия.

Darkside

Более оптимизированный и агрессивный Smartass.

Scary

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

AggressiveX

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

Lagfree

Основан на OnDemand. Но в отличии от него, переключение частот происходит очень плавно. Регулятор также отличается весьма умеренным энергопотреблением.

Stockdemand

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

Smoothass

От создателя Smartass/SmartassV2 пользователя с ником Erasmux. Это измененный Smartass для увеличения скорости. Агрессивнее повышение частоты, выше отклик и, естественно, выше расход батареи.

SuperBad

Переработанный Smartass. Отличается большей отзывчивостью.

Brazilianwax

Почти то же самое, что и Smoothass, только основан на SmartassV2. Чуть более агрессивно изменяет частоты, что выливается в чуть лучшую производительность и чуть меньшее кол-во времени работы.

SavagedZen

Еще один основанный на SmartassV2 говернер. В сравнении с Brazilianwax предстает в несколько лучшем свете из-за лучшего энергопотребления без потери производитель
ности.

Lazy

Регулятор от разработчика под ником Ezekeel — это, в большинстве своем, OnDemand с новым значением min_time_state, введеным для определения минимального времени, по прошествии которого CPU меняет частоту выше/ниже, ориентируясь на нагрузку. Главная идея этого говернера — исключить нестабильные постоянные скачки родного ондеманда.

Lionheart

Основан на Conservative с применением множества твиков. В общем и целом, по ощущениям сравним с ондемандом при меньшем энергопотреблении, но более высоком, чем Conservative. Хорошо работает с планировщиком deadline.

LionheartX

«Сын» обычного Lionheart, имеющий профиль простоя от регулятора Smartass.

Wrexy

Основан на Conservative. Несколько похож по работе с Lionheart. Старается держать более низкие частоты процессора, позволяющие наносить минимальный ущерб для производительности.

Intellidemand

Основан на Ondemand, что и следует от названия (Intelligent Ondemand). Ведёт себя в зависимости от GPU. Когда GPU загружен (игры, карты и т.д.) Intellidemand ведет себя подобно Ondemand. Когда GPU не загружен или умеренно загружен, Intellidemand ограничивает максимальную частоту в зависимости от частоты для устройства/ядра для экономии батареи.

OndemandPlus

Ondemandplus — это основанный на исходных кодах Ondemand и Interactive регулятор. Он имеет дополнительные энергосберегающие возможности, которые применены практически без ущерба для производительности. В то время, как Interactive предлагает современный и удобный фреймворк, логика масштабирования частот была полностью переписана. Тесты показали, что OndemandPlus более дружественен к расходу заряда батареи. Это достигнуто за счет того, что процессор начинает работать на максимальных частотах не сразу, а пошагово.

GallimaufryX

Модифицированный OnDemand с двухступенчатым поведением, как и в Ondemand, но с некоторыми твиками для скорости. Включает в себя также код для оптимизации поведения при выключенном экране от разработчика Imoseyon.

Hotplug

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

Optimax

Основан на OnDemand, как и большинство говернеров, которые разрабатывают пользователи XDA. Он содержит некоторые улучшения из LG, в частности, в плане улучшения обработки наращивания частоты. Регулятор имеет различные настраиваемые опции, как у говернера HTC, однако все равно ведет себя очень похоже. Параметры настройки, идущие по умолчанию, довольно консервативны. Он берет начало от Uber-ядра Cl3kener для Nexus 5, где имеет довольно хорошую репутацию использования батареи.

Yankdemand

Практически тот же OnDemand со слегка измененными значениями по умолчанию, имеющими цель снизить потребление заряда батареи.

HotplugX

Тот же Hotplug, более дружественный к батарейке.

Abyssplug

Еще один модифицированный HotPlug.

AbyssPlugv2

Вторая версия AbyssPlug, оптимизирована для нескольких ядер.

BadAss

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

Wheatley

Как и многие другие режимы, Wheatley основан на Ondemand. Быстрое понижение/повышение частоты, улучшенное энергосбережение, приоритет на запущенные процессы — вот основные особенности Wheatley.

Lulzactive

Основан на Interactive и Smartass. Когда загрузка больше 60% для данной частоты процессора, увеличивает частоту на один шаг. Когда загрузка процессора меньше чем 60% для данной частоты, он уменьшает частоту на один шаг. Когда экран погашен, частота процессора блокируется на минимальной частоте.

LulzactiveQ

Новая версия Lulzactive. Имеет три новых параметра, доступных пользователю для настройки: inc_cpu_load, pump_up_step, pump_down_step. В отличие от старой версии, эта, как логично предположить, позволяет больше управлять работой говернера. Можно задать промежуток, в котором говернер будет решать, повышать или понижать частоту. Так же можно выбрать и настроить количество доступных частот, до которых говернер будет повышать/понижать работу процессора. Когда нагрузка выше inc_cpu_load, говернер повышает CPU pump_up_step. Когда нагрузка ниже заданной в параметре inc_cpu_load, говернер понижает CPU pump_down_step.

HyrdxQ

Это регулятор LulzactiveQ с пачкой твиков для лучшей производительности. Это означает большая скорость работы устройства в ущерб жизни заряда батареи.

PegasusQ / PegasusD

Очень гибкий с кучей настроек (имеются ввиду настройки для разработчиков ядер, которые редактируются при сборке), создан только для многоядерных процессоров.

DevilQ

Агрессивная версия регулятора PegasusQ, которая по максимуму держит два ядра отключенными. Это неплохо оптимизированная версия PegasusQ для телефонов с четырехъядерными процессорами.

PegasusQPlus

PegasusQPlus - это заметно улучшенный регулятор PegasusQ, который был реализован разработчиком AndreiLux в его ядре Perseus. PegasusQPlus должен иметь лучший баланс между производительностью и использованием заряда батареи.

YankasusQ

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

Virtuous

Более энергоэффективная модификация smartassV2.

Yankactive

Слегка измененный пользователем Yank555.lu регулятор Interactive. Были добавлены твики батареи на основе запросов пользователей, что позволило сделать его намного более дружественным к расходу батареи, чем оригинальный Interactive, с минимальными потерями в производительности.

Adaptive

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

Bacon

Это ничто иное, как отполированный регулятор Interactive, названный Bacon, будучи адаптированным из bacon-устройств (One Plus One) пользователем под ником neobuddy89. Большое количество твиков для производительности/задержки.

Alucard

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

Nightmare

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

Darkness

Основан на Nightmare, однако более простой и быстрый, а также более стабильный за счет применения некоторых патчей и конфигов.

ZZmove

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

ZZmanX

ZZmanX примерно то же, что и ZZmove, но он был переименован, так так разработчик с ником DorimanX пересобрал его в своей собственной версии с ориентацией на более высокую производительность.

Sleepy

Является попыткой найти баланс между производительностью и временем автономной работы. Основан на модифицированном Ondeamnd и оптимизирован для SGS2. Также имеет некоторые особенности из OndemandX и по поведению похож на него под нагрузкой.

Hyper (ранее известен как Kenobi)

На основе Ondemand. Агрессивно умный и плавный. Оптимизирован для SGS2. Добавлены фичи из OndemandX. При нагрузке поведение очень похоже на Ondemand. Есть профили для глубокого сна (Deep Sleep) и быстрого старта (Fast Start). Максимальная частота в спящем режиме — 500 МГц.

AssWax

Про него мало что известно. Известно лишь, что он принадлежит к семье Interactive.

Zeneractive

Основан на регуляторе Interactive. Он управляет частотами подобно Interactive и имеет такие же настройки изменения частот процессора. Тем не менее, в Zeneractive весь код управления частотами был переписан чуть ли не с нуля.

SLP

Что-то среднее между PegasusQ и Ondemand. Неплохой имеет баланс между экономией батареи и производительностью.

ConservativeX

Разработка пользователя Imoseyon (с использованием кодов ядра Lean Kernel для Galaxy Nexus). Регулятор ConservativeX ведет себя подобно говернеру Conservative с дополнительным преимуществом блокировки частоты процессора на минимальных оборотах при выключенном экране.

Bioshock

Регулятор, разработанный пользователем под ником Jamison904. Микс говернеров ConservativeX и Lionheart. Хорош для баланса между сохранением заряда батареи и производительностью.

NeoX

Оптимизированная версия регулятора PegasusQ с применением некоторых серьезных твиков для улучшения производительности. Это означает, что батарея разряжается немного быстрее, чем при использовании оригинального PegasusQ, однако говернер по-прежнему сбалансирован.

DynInteractive

Динамический интерактивный говернор. Это регулятор динамически адаптирует частоту процессора в пределах ваших параметров системы, зависящих от нагрузки.

SmartMax

Что-то среднее между Ondemand и SmartAssV2. Не рассчитан на бенчмарки и «ультрапроизводительность». Просто баланс между говернорами. Использует «идеальную частоту» = 475МГц. При дотрагивании до экрана частота резко повышается для плавности.

SmartMax EPS

EPS расшифровывается как «Extreme Power Saving» (экстремальное энергосбережение). Основан на SmartMax. Особенности: отключено блокирование random-доступа (всегда используется неблокированная urandom), ARM спин-блокировки взяты из 3.8.2, твики RWSEM (reader/writer semaphore). RWSEM лучше всего использовать, когда доступ на запись требуется редко, и доступ на запись проводится в течение коротких периодов времени.

Xperience

Smartassv2 c некоторыми твиками для лучшей производительности и плавности. Создатель: TeamMex.

Alessa

Менее агрессивный и более стабильный Ondemand, модифицированный TeamMex. Хороший компромис между производительностью и жизнью батареи.

Ondemand EPS

Модифицированная версия Ondemand, оптимизированная под новейшие устройства. Основана на Ondemand-версии из ядра Semaphore Kernel, где говернер был рассчитан на более долгую жизнь заряда батареи.

Performance may cry (PMC)

Регулятор, основанный на Smartmax, применено множество твиков для максимально долгой работы от батареи. Совершенно не подходит для игрушек…

Slim

Новый регулятор от проекта CyanogenMod и проекта SlimROM. Оптимизирован с ориентацией на производительность и был настроен для множества новых гаджетов, например, для One Plus One.

Wave

Основан на Conservative с некоторыми твиками для скорости и более долгой жизни батареи.

Ktoonservative

Основан на Conservative. Может отключать ядра. Не очень с батареей, но очень хорошо выполняет свою работу.

Dance Dance

Основан на Conservative, но с более высоким темпом рампы (higher ramp rates — по аналогии с LionHeart), и лучше спят подпрограммы (better sleep routines — по аналогии с Wheatley). Говернор Dance Dance это модифицированный в сторону увеличения производительности conservative. Хороший баланс между производительностью и сроком работы батареи.

Smoove

Построен на Conservative, на Hyper и на Ondemand.

FrancoGazelle

Это смесь Сonservative и Hotplug. При выключенном экране отключает второе ядро и понижает частоту на минимум. При включенном экране выставляет автоматически частоту процессора на оптимальную.

FrancoTurtle

Модификация FrancoGazelle, предназначенная для экономии батареи.

Uberdemand

Uberdemand это тот же Ondemand, но с двухфазной функцией, что означает более мягкое поведение при изменении частот до максимума.

Sakuractive

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

Barry-Allen

Основан на Interactive. Этот регулятор предполагает большую дружественность к расходу батареи и в то же время обладает весьма неплохой производительностью.

Touchdemand

Touchdemand — это основанный на Ondemand говернер процессора, однако он был модифицирован специально под чип Tegra 3 (только для планшетов). Он имеет дополнительные твики для плавности и отзывчивости сенсорного экрана планшета.

ElementalX

Если вы являетесь владельцем девайсов Nexus, то этот регулятор установлен там по-умолчанию. Он назван в честь ядра elementalX и основан на говернере Interactive c некоторыми твиками, нацеленными на производительность. Этот регулятор создан именно для производительности, без расчета на сохранение заряда батареи!

IntelliMM

Переписанный регулятор Min Max, имеющий три режима работы процессора: Idle, UI и Max. Говернер IntelliMinMax (IntelliMM) создан для работы в тех основных диапазонах напряжения, способных максимизировать расход заряда и производительность при создании плавности интерфейса. Он дружественен к батарее, так как проводит большую часть времени на более низких частотах.

Boostactive

Основан на Interactive, но с применением твиков, направленных на повышение скорости изменения частот процессора. Говернер ориентирован на производительность.

Aggressive

Примерно такой же как Lionheart, однако он основан на Conservative. И заметно более агрессивный.

Mythx_plug

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

Impulse

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

Оценки по пятибалльной системе

(отсюда).

Для быстродействия:

Одно ядро:

— Performance — 3
— Interactive/InteractiveX — 4
— SmartassV2 — 5

Несколько ядер:

— Performance — 3
— ElementalX — 4
— Interactive/InteractiveX — 4
— Slim — 5
— HYPER — 5
— Lionheart/LionheartX — 5
— Intelliactive — 5

Для долгой жизни батареи:

Одно ядро:

— Powersave — 3
— Ondemand — 4
— Conservative — 3

Несколько ядер:

— Perfomance may cry (PMC) — 4
— Powersave — 3
— Smartmax — 4
— Ondemand — 4
— Conservative — 3

Баланс между производительностью и жизнью заряда батареи:

Одно ядро:

— Interactive/Intelliactive — 4
— Ondemand/OndemandX — 4
— SmartassV2 — 5

Несколько ядер:

— LulzactiveQ — 3
— Intelliactive — 5
— Interactive/InteractiveX − 4
— Yankactive/YanksusQ — 4
— Ondemand/OndemandX — 4
— Bluactive — 5
— PegasusQ — 5
— HYPER — 5
— Impulse — 5
— ZZMoove/ZZmanX — 5
— Ktoonservative — 5
— Intellidemand — 5

Для игр:

Одно ядро:

— Interactive/InteractiveX — 4
— Performance — 5
— Ondemand/OndemandX — 5
— SmartassV2 — 5

Несколько ядер:

— Lionheart/LionheartX — 5
— Intelliactive — 5
— Interactive/InteractiveX — 4
— Slim — 5
— PegasusQ — 3
— ElementalX — 4
— Ondemand/OndemandX — 5
— HYPER — 5
— LulzactiveQ — 5
— Ktoonservative — 5

Короткий FAQ

Какой говернер лучше использовать для наилучшего энергопотребления без большого ущерба производительности?

Сложный вопрос, на самом-то деле! Lulzactive и SmartassV2 для баланса между энергопотреблением и производительностью. Для легких задач Lulzactive должен быть более дружелюбен к батарейке. Как, впрочем, и для тяжелых задач. Дабы получить максимальную производительность, используйте настроенный OnDemand или Conservative, но в таком случае не стоит жаловаться на энергопотребление! Кстати, Lulzactive не так просто настроить, так что если у вас не получается это сделать, то лучше не трогайте его, иначе вы ничего не получите толком!

Как менять говернеры?

Один способ — это использование init.d-скриптов, если ядро поддерживает их (echo «governor-name» > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor). А проще пользоваться такими программами, как Voltage Control/SetCpu/No Frills/Antuntu CPU Master…

Как понять, какой говернер лучше лично для меня?

Тестировать, и только так!

Я установил мой любимый говернер для скрин-он профиля и другой для скрин-офф. И почему теперь мой телефон не хочет просыпаться? Приходится перегружать гаджет каждый раз после продолжительного выключения экрана!

Это так называемый SoD (Sleep of Death, сон смерти). Не стоит использовать два разных регулятора вместе, если у них у обоих есть профили для сна! Вот пример неправильной комбинации (screen-on:screen-off): ondemandX:smartassV2. Примеры правильных комбинаций: ondemand:smartassV2, lulzactive:smartassV2.

При прокрутке рабочих столов аппарат заметно подтормаживает, можно ли уменьшить лаги или избавиться целиком от данной проблемы?

Да, можно. Стоит увеличить down-sampling-time говернера, дабы процессор дольше не снижал частоту. Это должно избавить от торможений при скроллинге.

Меня устраивает принцип работы некого говернера, но я хотел бы настроить его под себя. Как мне это сделать?

Для настройки говернера нужно изменить init.d скрипт /sys/devices/system/cpu/cpufreq/name-of-active-governor/name-of-the-paramater-to-tweak.

Пример: echo "20000" /sys/devices/system/cpu/cpufreq/lulzactive/up_sample_time

Либо пользуйтесь вышеуказанными программами.

Я хотел бы узнать, как еще можно понизить энергопотребление моего аппарата. Я уже настроил говернер, но все равно не удовлетворен результатами.

Лучше всего ограничить максимальную частоту 1000-100 МГц, ибо их хватает для большинства ежедневных задач и приложений «за глаза» (данное условие применимо к большинству телефонов).