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

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

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

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

Участники первой части путеводителя:

Также будут упомянуты:

Sleep as Android - одно из широко известных приложений для контроля сна. Основные функции: запись актиграфии сна, просмотр статистики, управление будильниками и «умное пробуждение». Кроме того, программа умеет определять и предотвращать храп, дает советы, которые помогут сделать сон более эффективным.

Sleep as Android работает в ознакомительном режиме 2 недели, после чего переходит в режим ограниченной работы и требует ввести код разблокировки. Цена полной версии - $3,06.

Будильник

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

Можно не только запланировать, но и установить определенный режим пробуждения - более или менее лояльный. Дополнительно, пользователь может указать «длительность дремы».

На тот случай, если он не проснулся окончательно, Sleep as Android включает проверку бодрствования. Работает она в следующим образом: дается задача, которую нужно решить для отключения сигнала. Это может быть ввод цифр с картинки, простейший арифметический пример, тряска или другие варианты различной сложности.

Отслеживание сна

Сейчас - непосредственно о функциях отслеживания сна в Sleep as Android. До начала записи можно выставить желаемые настройки - например, включить запись шумов во время сна, антихрап. Антихрап - достаточно любопытная и в ряде случаев, видимо, полезная опция: телефон вибрирует по достижению порога шума и предупреждает о том, что желательно спать тише.

Sleep as Android не предусматривает калибровки, поэтому проверить чувствительность сенсора можно только опытным путем: начать отслеживание, остановить запись и взглянуть на полученный график.

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

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

Статистика

В результате, на графике Sleep as Android отобразятся циклы сна, где можно отличить:

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

Соответственно, уже исходя из этого, пользователь может понять, насколько полноценным был сон. Конечно, представленные данные упрощены (на самом деле, фаз больше), и здесь нужно учитывать, что статистика строится только на показаниях акселерометра по принципу: чем больше движений, тем «легче» сон. Тем не менее, полученных сведений вполне достаточно для исследований.

Здесь будет уместно привести полезную информацию разработчика:

Здоровый сон длится 7-8 часов и содержит 5 циклов сна. Первый цикл длится 70-100 минут, последующие - дольше, но они «легче». Каждый цикл состоит из 5 стадий по 5-15 минут. Стадии 1 и 2 - легкий сон, лучшее время для просыпания. График здорового сна выглядит так: 10-30 минут легкого сна (высокие пики), сопровождаемый стадиями глубокого сна с меньшими пиками или без них, длящимися от 40 до 100 минут.

При выборе графика актиграфии, также несложно ознакомиться с такими показателями как: дефицит сна, циклы глубокого сна. Можно сегментировать данные по дням, тегам, категориям, вносить пометки.

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

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

Полезные советы в Sleep as Android являются необязательным бонусом. Они доступны только при достаточном количестве статистики - в течение недели или как минимум нескольких дней.

Дополнительные возможности

Последнее, что можно отметить, это и различные дополнения, которые можно установить в Sleep as Android: дополнительные усыпляющие звуки (Lullaby Addon), резервное копирование (SleepCloud Backup), привязка к гаджетам Pebble, Android Wear (дополнение «Носимые устройства») и др.

Резюме . Sleep as Android - один из безусловных фаворитов обзора. Понятный интерфейс, наиболее полный набор функций, детальная статистика, в том числе аудиозаписи в процессе сна. Стоит утверждать, что приложение извлекает из сна все полезное, насколько это возможно с использованием не специализированного мобильного устройства. Кроме того, Sleep as Android можно использовать как гибко настраиваемый, адаптируемый будильник.

Sleep Cycle Alarm Clock - еще один «интеллигентный» будильник, который отслеживает сон и будит в оптимальное время. Большая часть функций статистики в ознакомительной версии недоступна, стоимость приложения составляет $1,59.

Отслеживание сна и статистика

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

Перед отслеживанием, рекомендуется провести калибровку, и для этого в Sleep Cycle Alarm Clock есть соответствующие инструкции и тест. Во время этого теста, нужно положить мобильное устройство рядом с местом сна и сделать несколько движений, чтобы сработал сигнал.

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

На графике показаны 3 стадии сна: Awake (бодрствование), Sleep (сон) и Deep sleep (глубокий сон).

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

Кроме того, в Sleep Cycle Alarm Clock можно ознакомиться с графиками за длительные периоды, при наличии достаточного количества данных (за 5 и более дней): тенденции на протяжении недели и дольше; время, затраченное на сон, время отхода ко сну, качество сна и т. д.

Нужно отметить, что по своим возможностям программа все же не дотягивает до Sleep as Droid. Хотя бы потому, что нельзя записывать звук. В то же время, можно оставлять пометки о качестве сна - для этого нужно активировать опцию Sleep notes в настройках программы. Вместо рейтинга сна можно указывать настроение - оно будет отображаться на шкале статистики.

Будильник

Будильник в Sleep Cycle Alarm Clock настраивается достаточно детально. Это настройка звука, мелодия, вибрация. Кроме того, можно активировать режим отложенного сна при встряхивании или нажатии на телефон. Это лимит, который учитывается как цикл сна, указанный пользователем, то есть, интеллигентное пробуждение.

Резюме . Sleep Cycle Alarm Clock - достаточно простой инструмент для комфортного пробуждения. Наиболее полезный компонент - будильник, который будит между циклами сна. В плане статистики, несмотря на множество графиков, предоставляется сравнительно немного полезной информации.

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

Приложение помогает не только «встать с той ноги», но также оптимизировать время сна. Поддерживается 3 метода настройки будильника:

  • Установка времени для засыпания
  • Установка времени для просыпания
  • Я засну сейчас.

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

Вместе с мобильным приложением, по адресу доступен аналогичный онлайн-сервис. Полезен он тем, что позволяет вычислить оптимальное время для пробуждения. Пользователь вводит время - появляется 4 варианта с интервалом в 30 минут, когда желательно проснуться.

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

Согласно описанию, данному разработчиками, Caynax Alarm Clock - это не только будильник, но еще и менеджер задач. Тем не менее, непонятно, как здесь создавать todo-списки или нечто схожее.

В Caynax Alarm Clock будильники распределены по категориям: разовые, ежедневные, по рабочим дням, по календарю и по праздникам, циклические. Как ни странно, сюда же относятся таймеры. Будильниками удобно управлять, когда их несколько: можно быстро создавать и при ненадобности отключать - все сразу и одним нажатием кнопки.

Каждый будильник содержит ряд полезных опций. Во-первых, за каждым будильником закреплен профиль (доступно только в pro-версии). Во-вторых, пробуждение может быть «мягким» или «жестким». Возможен перенос будильника на другое время, при его срабатывании (отложенный режим), преодоление препятствия (задача или фраза, где нужно поменять порядок слов).

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

AlarmDroid - пожалуй, один из самых функциональных будильников для Android. Будет полезен тем, кто испытывает трудности не столько при засыпании, сколько при пробуждении.

Помимо удобного управления будильниками (создание/удаление/сортировка), можно гибко настраивать каждый из них. Так, AlarmDroid позволяет задавать повторы, интервал нарастания звука, изменять режимы.

Для переноса будильника на другое время достаточно перевернуть или встряхнуть устройство (функция flip’n’snooze:). Если, наоборот, востребован более «строгий» будильник, можно настроить всевозможные препятствия: математическая задача, сортировка или выбор кратных чисел, дня недели и т. д. Этой функцией AlarmDroid похож на упомянутое приложение Caynax Alarm Clock.

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

Независимо от того, насколько быстро работают наши телефоны, мы всегда желаем, чтобы они были чуточку быстрее. К счастью, Android позволяет вам сделать это. Этот процесс называется «разгон» - он означает, что главный процессор будет работать немного быстрее, чем обычно. Разогнать процессор очень легко, и это позволит вам получить дополнительные 30 процентов к его мощности. Ниже приводятся советы, как сделать разгон вашего Android-телефона, чтобы он стал реально мощным телефоном.

Содержимое статьи

Перед началом прочтите это

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

Основной момент – запастись временем. Не пытайтесь увеличить частоту процессора сразу на 30 процентов. Делайте это не спеша, и после каждого увеличения оценивайте стабильность системы. Если Android работает без нареканий, а уровень выделяемого телефоном тепла и время работы аккумулятора приемлемы, и плюс, нет зависаний или странного поведения, то вы можете продолжить увеличивать тактовую частоту процессора. Если же дела пошли как-то странно, вернитесь к последней стабильной тактовой частоте.

Получение нужного ядра для разгона

Вы довольны результатами? Давайте продолжим. Единственное, что вам нужно для настройки параметров главного процессора вашего Android-телефона – это так называемое ядро ОС, поддерживающее более высокую тактовую частоту. Отметим, что разгон процессора является основным элементом в моддинг-сообществе, так что недостатка в хороших ядрах точно не будет. Итак, вам нужно просто выбрать правильное ядро для вашей конкретной модели телефона.

Прежде всего, выясните номер модели вашего телефона. Для этого нужно зайти в раздел «Настройки», далее в «О телефоне» и посмотреть, что там сказано. Также, вероятно, вы захотите записать данные о версии Android, установленной на вашем телефоне. Важный нюанс: для разгона главного процессора ваш телефон должен иметь root-права!

Само собой, что этот процесс не будет покрываться гарантией, поэтому вы будете действовать на свой страх и риск. Кроме всего прочего, вам также надо будет установить в телефон пользовательский режим восстановления (также известный под именем «кастом рекавери»). Подробнее об этом смотрите ниже.

Замена ядра и разгон процессора занимают не так много времени, однако стоит потратить какое-то время на поиск нужного ядра. Некоторые сайты, например, XDA Developers, можно считать прекрасной площадкой для старта. Есть четыре аспекта, на которые вы обращаете внимание в ядре: 1) чтобы это ядро поддерживало разгон процессора; 2) чтобы оно было совместимо с вашей моделью телефона; 3) чтобы оно работало в вашей версии Android; 4) чтобы оно имело положительные отзывы.

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

Разгон ПО для вашего ядра

Некоторые ядра имеют соответствующее программное обеспечение, которое было разработано специально для того, чтобы помочь вам получить максимум пользы от ядра. В подобное ПО может входить обычный слайдер для разгона, регулятор настроек главного процессора, опции для уменьшения напряжения и т. д. Если у ядра, которое вы используете, имеется дополнительное приложение, то можете задействовать его. Если же нет, то тогда поищите в Play Store приложение для общего разгона (или менеджер для главного процессора) с хорошим рейтингом и положительными отзывами.

После того, как у вас появилось ядро для вашей конкретной модели телефона, и вы убедились, что оно совместимо с вашей версией Android и поддерживает разгон процессора, можно двигаться дальше. Для этого практического занятия мы будем делать разгон рутованного Nexus 6 со стоковой версией Android 6.0 Marshmallow, используя ядро ElementalX.

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

Как разогнать ваш Android-телефон

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

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

  1. После того, как вы выбрали подходящее ядро, скачайте его (а также любое ПО, которое сопутствует ему) на ваш Android (скачивание можно делать в папку «Загрузки»). Также вы можете скачать ядро на ваш компьютер и затем скопировать ZIP-файл в корневой каталог вашего телефона (если есть такое желание), но это несложное сделать на вашем телефоне и через рекавери.

  1. Отключите ваш телефон и войдите в режим «Быстрая загрузка». Это можно сделать, нажав одновременно на кнопки «Вкл.» и «Громкость вниз», хотя некоторые производители определяют другую комбинацию клавиш.
  2. Находясь в «Быстрой загрузке», используйте клавиши громкости для выделения режима «Восстановление» и нажмите на кнопку «Вкл.» для его выбора.

  1. Теперь вы можете вводить ваш «кастом рекавери». Мы используем тип TWRP.
  2. Нажмите на иконку «Установить» (или на «установить ZIP» в CWM) и перейдите в папку, где находится сохранённый zip-файл ядра.

  1. Установите zip-файл ядра и дождитесь появления сообщения о том, что установка прошла успешно. Некоторые ядра (например, Elemental X в нашем случае) будут запускаться через серию диалоговых окон, наподобие приложения Install Wizard на вашем компьютере.

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

  1. Очистите кэш после успешно проведённой установки ядра.

  1. Пройдите в подраздел «Расширенные настройки» в режиме восстановления и нажмите на иконку «Исправить права доступа к файлам и разделам».

  1. Перезагрузите систему.

Изменение частоты главного процессора

Если вы не изменяли настройки главного процессора во время установки вашего пользовательского ядра, то теперь вы можете запустить менеджер процессора (или приложение для ядра). Если у вас нет уже установленного совместимого с вашим ядром ПО, вам нужно будет найти соответствующее приложение в Play Store.

В принципе, есть множество подобных приложений, и работают они прекрасно, но мы используем бесплатное приложение Kernel Adiutor. Вам придётся предоставить приложению для ядра разрешение на использование root-прав, а также, вероятно, придётся установить приложение BusyBox (которому тоже будут нужны root-права).

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

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

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

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

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

Расскажите нам о том, чего вы добились, и насколько лучше стал ваш разогнанный Android теперь.

Когда у меня появился первый компьютер, никому даже и в голову не могло прийти спросить, сколько ядер у его процессора. Однако прошло совсем немного времени, и появились двухъядерные процессоры, затем четырехъядерные и так далее. То же самое достаточно быстро случилось со смартфонами, однако не все понимают, для чего процессору смартфона иметь 8 ядер. Более того, многие считают, что Android-приложения для своей работы используют только одно ядро. Гэри Симс из Android Authority разобрался в этом вопросе и опубликовал свое объяснение.

Первое, что следует знать о мобильных ARM-процессорах, это то, что в восьмиядерных процессорах используется как минимум две разные архитектуры ядер. В современном 64-битном восьмиядерном процессоре будут использованы высокопроизводительные ядра Cortex-A72 вместе с энергоэффективными ядрами Cortex-A53. Такое сочетание называется big.LITTLE, и это отличает ARM-процессоры от тех, что используются для компьютеров. 8-ядерный процессор в смартфоне используется не для высокой производительности, а . Если мы это запомнили, тогда можно идти дальше.

Как используются многоядерные процессоры

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

Если устройство работает на процессоре с несколькими ядрами, это позволяет планировщику отправлять одну задачу на первое ядро, а другую — на второе. Чем больше ядер процессора, тем больше процессов смогут выполняться одновременно. Однако может ли многоядерный процессор помочь решить одну задачу быстрее? Может, если задача подразумевает разбиение. бывают однопоточными и многопоточными. Однопоточные программы не могут извлечь никакой выгоды от использования многоядерных процессоров, в то время как многопоточные программы приспособлены разбиваться на разные задачи, которые могут выполняться одновременно на разных ядрах.

Как это происходит в случае с Android

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

Гэри Симс провел несколько тестов и не нашел ни одного приложения, которое использовало бы все 8 ядер на 100%. Так и должно быть, ведь, как мы помним, 8-ядерные процессоры применяются ради энергоэффективности. Система выбирает подходящую комбинацию ядер и, когда требуется нагрузка, подключает высокопроизводительные ядра, а когда есть возможность сэкономить энергию, в ход идут энергоэффективные. Однако в некоторых случаях работают и те и другие.

Тесты

Для того чтобы проверить, как используются ядра процессора при выполнении различных приложений, Гэри Сименс создал программу, считывающую эти данные. Затем он протестировал несколько приложений на устройстве с четырехъядерным Snapdragon 801 и на устройстве с восьмиядерным Snapdragon 615. Совместно с Робертом Триггсом из Android Authority были созданы графики работы ядер этих двух процессоров с одним и тем же приложением.

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

В случае с восьмиядерным Snapdragon 615 браузер Chrome большую часть времени использовал 7 ядер, иногда 8, а иногда 6 или 4. Так как Snapdragon 615 — это big.LITTLE-процессор, то и ядра его используются иначе. Вы можете видеть на графике, как растет нагрузка на одном ядре в то время, как она падает на другом.

Chrome — многопоточное приложение, а что с остальными? Точно таким же образом были проверены приложения Gmail, YouTube Riptide GP2 и Temple Run 2. Игра Temple Run 2 нагрузила только одно ядро, однако при запуске на процессоре MediaTek нагрузка была равномерно распределена. Остальные приложения подтвердили чистоту эксперимента с Chrome. Была также прослежена работа AnTuTu, и на графике четко видно, как искусственно создается нагрузка на все ядра процессора.

Вывод

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

По материалам Android Authority

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

Custom kernel?

Что такое кастомное ядро? Как мы все знаем, Android представляет собой пирог, состоящий из трех базовых слоев: ядро Linux, набор низкоуровневых библиотек и сервисов и виртуальная машина Dalvik, поверх которой работает графическая оболочка, высокоуровневые инструменты и сервисы, а также почти все приложения, установленные из маркета. Создатели большинства альтернативных кастомных прошивок обычно работают только с двумя верхними слоями, добавляя функции в графическую оболочку (например, кнопки в шторке), изменяя ее (движок тем в CyanogenMod), а также добавляя новые системные сервисы (эквалайзер в CyanogenMod) и оптимизируя существующие.

Авторы популярных прошивок также по мере возможностей вносят изменения в ядро Linux: оптимизируют (сборка с более агрессивными флагами оптимизации компилятора), включают в него новую функциональность (например, поддержку шар Windows), а также вносят другие изменения вроде возможности поднимать частоту процессора выше предусмотренной производителем. Зачастую все это остается за кадром, и многие пользователи кастомных прошивок даже не подозревают об этих возможностях, тем более что тот же CyanogenMod поставляется с кастомным ядром только для ограниченного круга девайсов, для которых доступны как исходники родного ядра, так и возможность его замены. Например, почти все прошивки CyanogenMod для смартфонов Motorola используют стандартное ядро - заменить его на свое невозможно из-за непробиваемой защиты загрузчика.

Однако ядро в смартфонах с разлоченным загрузчиком можно заменить отдельно от основной прошивки. И не просто заменить, а установить ядро с огромным количеством различных функций, которые требуют определенных технических знаний для управления, а потому обычно не встраиваются в ядра популярных прошивок, таких как CyanogenMod, AOKP и MIUI. Среди этих функций можно найти поддержку высоких частот работы процессора, управление гаммой экрана, режимами энергосбережения, высокоэффективные менеджеры питания и огромное количество других фич.

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

Умный регулировщик

В SoC’ах OMAP35XX, используемых, например, в Galaxy S II и Galaxy Nexus, есть функция SmartReflex, которая выполняет роль умной системы регулировки вольтажа при изменении нагрузки на процессор. По сути, она избавляет от необходимости тонкого тюнинга вольтажа пользователем.

Оптимизации

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



Еще один тип оптимизации: изменение стандартного планировщика ввода-вывода. Ситуация на этом поле еще более интересная, так как вместо того, чтобы разобраться в принципах работы планировщиков, некоторые сборщики ядер просто читают в Сети документы по I/O-планировщикам для Linux и делают выводы. Среди пользователей такой подход распространен еще более сильно. На самом деле почти все самые производительные и умные Linux-планировщики совершенно не подходят для Android: они рассчитаны на применение с механическими хранилищами данных, в которых скорость доступа к данным разнится в зависимости от положения головки. Планировщик использует разные схемы объединения запросов в зависимости от физического положения данных, поэтому запросы к данным, которые располагаются близко к текущему положению головки, будут получать больший приоритет. Это совершенно нелогично в случае с твердотельной памятью, которая гарантирует одинаковую скорость доступа ко всем ячейкам. Продвинутые планировщики принесут на смартфоне больше вреда, чем пользы, а лучший результат покажут самые топорные и примитивные. В Linux есть три подобных планировщика:

  • Noop (No operation) - так называемый не-планировщик. Простая FIFO очередь запросов, первый запрос будет обработан первым, второй вторым и так далее. Хорошо подходит для твердотельной памяти и позволяет справедливо распределить приоритеты приложений на доступ к накопителю. Дополнительный плюс: низкая нагрузка на процессор в силу ну очень простого принципа работы. Минус: никакого учета специфики работы девайса, из-за чего могут возникнуть провалы производительности.
  • SIO (Simple I/O) - аналог планировщика Deadline без учета близости секторов друг к другу, то есть разработанный специально для твердотельной памяти. Две главные изюминки: приоритет операций чтения над операциями записи и группировка операций по процессам с выделением каждому процессу кванта времени на выполнение операций. В смартфонах, где важна скорость работы текущего приложения и преобладание операций чтения над записью, показывает очень хорошую производительность. Доступен в Leankernel, ядре Matr1x для Nexus 4 и SiyahKernel.
  • ROW (READ Over WRITE) - планировщик, специально разработанный для мобильных устройств и добавленный в ядро всего несколько месяцев назад. Основная задача: первоочередная обработка запросов чтения, но справедливое распределение времени и для запросов записи. Считается лучшим на данный момент планировщиком для NAND-памяти, по умолчанию используется в Leankernel и Matr1x.

Стоит сказать, что почти все стандартные прошивки и половина кастомных до сих пор используют ядро со стандартным для Linux планировщиком CFQ, что, впрочем, не так уж и плохо, поскольку он умеет правильно работать с твердотельными накопителями. С другой стороны, он слишком сложен, создает бОльшую нагрузку на процессор (а значит, и батарею) и не учитывает специфику работы мобильной ОС. Еще один популярный выбор - это планировщик Deadline, который не хуже SIO, но избыточен. Посмотреть список доступных планировщиков можно с помощью такой команды:

# cat /sys/block/*/queue/scheduler

Для изменения применяется такая (где row - это имя планировщика):

# for i in /sys/block/*/queue/scheduler; do echo row > $1; done

Некоторые сборщики ядер применяют и другой вид оптимизации, связанный с вводом-выводом. Это отключение системного вызова fsync, применяемого для принудительного сброса изменившегося содержимого открытых файлов на диск. Существует мнение, что без fsync система будет реже обращаться к накопителю и таким образом удастся сохранить время процессора и заряд батареи. Довольно спорное утверждение: fsync в приложениях используется не так уж и часто и только для сохранения действительно важной информации, зато его отключение может привести к потере этой же информации в случае падения операционной системы или других проблем. Возможность отключить fsync доступна в ядрах franco.Kernel и GLaDOS, а для управления используется файл /sys/module/sync/parameters/fsync_enabled, в который следует записать 0 для отключения или 1 для включения. Повторюсь, что использовать эту возможность не рекомендуется.

Добавляем в ядро новые функции

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

В основном это различные драйверы и файловые системы. Например, некоторые ядра включают в себя поддержку модуля CIFS, позволяющего монтировать Windows-шары. Такой модуль есть в ядре Matr1x для Nexus S, faux123 для Nexus 7, SiyahKernel и GLaDOS. Сам по себе он бесполезен, но в маркете есть несколько приложений, позволяющих задействовать его возможности.

Еще одна полезность - это включение в ядро драйвера ntfs-3g (точнее, в пакет с ядром, сам драйвер работает как Linux-приложение), который необходим для монтирования флешек, отформатированных в файловую систему NTFS. Этот драйвер есть в ядрах faux123 и SiyahKernel. Обычно он задействуется автоматически, но если этого не происходит, можно воспользоваться приложением StickMount из маркета.

Многие ядра также имеют в своем составе поддержку так называемой технологии zram, которая позволяет зарезервировать небольшой объем оперативной памяти (обычно 10%) и использовать ее в качестве сжатой области подкачки. В результате происходит как бы расширение количества памяти, без каких-либо серьезных последствий для производительности. Доступно в Leankernel, включается с помощью Trickster MOD или командой zram enable.

Последние две интересные функции - это Fast USB charge и Sweep2wake. Первая - это не что иное, как принудительное включение режима «быстрой зарядки», даже если смартфон подключен к USB-порту компьютера. Режим быстрой зарядки доступен во всех более-менее новых смартфонах, однако в силу технических ограничений он не может быть включен одновременно с доступом к карте памяти. Функция Fast USB charge позволяет включить этот режим всегда, отключив при этом доступ к накопителю.

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

Разгон, вольтаж и энергосбережение

Разгон популярен не только среди владельцев стационарных компов и ноутбуков, но и в среде энтузиастов мобильной техники. Как и камни архитектуры x86, процессоры и графические ядра мобильной техники отлично гонятся. Однако сам способ разгона и предпринимаемые для его осуществления шаги здесь несколько другие. Дело в том, что стандартные драйверы для SoC’ов, отвечающие за энергосбережение и изменение частоты процессора, обычно залочены на стандартных частотах, поэтому для тонкого тюнинга приходится устанавливать либо альтернативный драйвер, либо кастомное ядро.

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

Всем этим можно управлять с помощью известной платной утилиты SetCPU или же бесплатной Trickster MOD. Рекомендации по управлению все те же, что и для настольных систем. Нижнюю частоту процессора лучше установить минимальной, но не ниже 200 МГц (чтобы избежать лагов), верхний порог повышается постепенно с тестированием стабильности работы, при падении которой рекомендуется немного поднять вольтаж для данной частоты. Каких-то рекомендаций по вольтажу нет, так как каждый процессор уникален и значения будут для всех разными.

Кроме изменения частот, сборщики зачастую добавляют в ядро новые алгоритмы управления энергосбережением (автоматическим управлением частотой процессора), которые, по их мнению, могут показать лучшие результаты в сравнении со стандартными. Почти все из них базируются на используемом по умолчанию в новых версиях Android алгоритме Interactive, суть которого заключается в том, чтобы резко поднять частоту процессора до максимальной в случае повышения нагрузки, а затем постепенно снижать до минимальной. Он пришел на смену используемому раньше алгоритму OnDemand, который плавно регулировал частоту в обе стороны соразмерно нагрузке, и позволяет сделать систему более отзывчивой. Сборщики альтернативных ядер предлагают на замену Interactive следующие алгоритмы:

  • SmartAssV2 - переосмысление алгоритма Interactive с фокусом на сохранение батареи. Основное отличие в том, чтобы не дергать процессор на высокие частоты в случае кратковременных всплесков нагрузки, для которых хватит и низкой производительности процессора. По умолчанию используется в ядре Matr1x.
  • InteractiveX - тюнингованный алгоритм Interactive, главная особенность которого в залочке процессора на минимальной указанной пользователем частоте и обесточивании второго ядра процессора во время отключения экрана. По умолчанию используется в Leankernel.
  • LulzactiveV2 - по сути, изобретенный заново OnDemand. Когда нагрузка на процессор превышает указанную (по умолчанию 60%), алгоритм поднимает частоту на определенное число делений (по умолчанию 1), при понижении нагрузки - опускает. Особый интерес представляет тем, что позволяет самостоятельно задавать параметры работы, поэтому подходит для прожженных гиков.

Вообще, сборщики ядер очень любят придумывать новые алгоритмы энергосбережения по причине простоты их реализации, поэтому можно найти еще с десяток других. Большинство из них полный шлак, и при выборе планировщика следует руководствоваться правилом: либо один из трех описанных выше, либо стандартный Interactive, который, кстати, очень неплох. Сделать выбор можно с помощью все той же Trickster MOD.

Интерфейсы управления

Большинство популярных кастомных ядер включают в себя несколько механизмов тонкого управления различными параметрами драйверов, наиболее распространены из которых ColorControl, GammaControl, SoundControl и TempControl.

Первые два интерфейса доступны практически везде, включая ядра CyanogenMod, вторые два - в Leankernel и, может быть, в других. Так или иначе, всеми ими можно управлять с помощью Trickster MOD.

Ядра

Какое же ядро выбрать? На этот вопрос нет однозначного ответа, и не потому, что «каждому свое», а потому, что в мире существует огромное количество Android-устройств и почти столько же различных ядер. Тем не менее есть несколько популярных ядер, которые разрабатываются сразу для нескольких устройств. Так или иначе многие из них я упоминал по ходу повествования, здесь же приведу их краткое описание.

  • Leankernel - ядро для Galaxy Nexus, Nexus 7 и Galaxy S III. Основной акцент при разработке делается на простоту и скорость работы. Алгоритм энергосбережения: InteractiveX V2, планировщик I/O: ROW, все перечисленные выше интерфейсы управления, поддержка Fast USB charge, Swap и zram, гибкие возможности разгона CPU и GPU. Одно из лучших ядер. Настраивается с помощью с помощью Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI , goo.gl/ZcyvA) - ядро для Nexus S и Nexus 4. Простое и неперегруженное ядро. Поддержка разгона CPU и GPU, GammaControl, Fast USB Charge, Sweep2wake, планировщики I/O: SIO, ROW и FIOPS. Твики производительности. Настраивается с помощью Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4 , goo.gl/eZkAV) - простое и неперегруженное ядро для Nexus 4 и HTC One X. Оптимизации для Snapdragon S4 и NVIDIA Tegra 3, переработанный режим энергосбережения для Tegra 3, возможность разгона, алгоритм энергосбережения: тюнингованный OnDemand (доступен и Interactive).
  • SiyahKernel - ядро для Galaxy S II и S III. Гибкие возможности разгона, автоматическая калибровка батареи, улучшенный драйвер сенсорного экрана, алгоритмы энергосбережения: smartassV2 и lulzactiveV2, планировщики I/O: noop, deadline, CFQ, BFQV3r2 (по умолчанию), V(R), SIO. Драйверы CIFS и NTFS (с автомонтированием). Конфигурируется с помощью ExTweaks.
  • franco.Kernel - ядро для Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10, Galaxy S III, Galaxy Note, Optimus One и One X.

Возможности ядра сильно разнятся от устройства к устройству, поэтому подробности придется смотреть на месте. Тем не менее, прошивая это ядро, ты получишь возможность разгона, тюнинга драйверов, отличную производительность, а также поддержку различных алгоритмов энергосбережения и планировщиков. По сути, ядро включает в себя почти все описанные в статье твики. Считается одним из лучших доступных ядер. Имеется приложение для автоматического обновления franko.Kernel Updater. Конфигурировать можно с помощью Trickster MOD.

Как установить?

Все ядра распространяются в стандартных для Android ZIP-архивах, которые следует прошивать через консоль восстановления точно так же, как альтернативные прошивки. Обычно ядра совместимы с любыми прошивками, поэтому, подобрав нужное ядро, его можно смело устанавливать. Единственное, на что следует обратить внимание, - это версия Android, с которой обеспечена совместимость ядра. Оно может как подойти ко всем доступным для устройства версиям Android, так и работать только с одной (разработчик обычно явно говорит об этом). Перед прошивкой обязательно сделай бэкап текущей прошивки с помощью все той же консоли восстановления. Если что-то пойдет не так, ты всегда сможешь откатиться.

Выводы

Как ты смог убедиться, кастомные ядра обладают множеством преимуществ перед ядрами, используемыми в стандартных или сторонних прошивках. А что еще более важно - необязательно знать все тонкости Android, чтобы их использовать, достаточно скачать и установить ZIP-архив.

Программа для управления частотой процессора на устройстве Андроид с целью увеличения производительности или увеличения времени работы от батареи.
Программа не умеет (и не должна уметь) самостоятельно разгонять процессор, она только управляет им. Из особенностей стоит отметить поддержку профилей (при отключенном экране, при подключенной зарядке, при определенном % заряда батареи, разговоре по телефону). Программе для работы нужен root. Для того, чтобы вы могли двигать ползунки, особенно в большую сторону, необходимо кастомное ядро с разгоном. Оно может быть установлено как отдельно, так и при установки кастомной прошивки.
Какие доступны режимы и частоты в программе, зависит только от того ядра, что у вас стоит.

Предустановленные режимы работы процессора Set CPU (наличие или отсутствие зависит от ядра):

Interactive - интерактивный режим, гоняет частоту ЦП в реальном времени, почти всегда на полную производительность.
Smartass - режим, основанный на Interactive. Отличается более быстрым снижением частоты в простое, а также понижает частоту до минимума при выключенном экране.
Conservative - работает на самой возможно низкой частоте ЦП и повышает пошагово, при необходимости.
Userspace - позволяет изменять частоту ЦП, либо в ручном режиме, либо динамически, по усмотрению программного обеспечения.
Powersave - понижает частоту ЦП до минимально возможного уровня.
Ondemand - работает на самой возможно низкой частоте ЦП и повышает на максимальную по достижении значения загрузки ЦП - 100%.
Performance - устанавливает максимальное значение частоты ЦП, запрещая изменять значение частоты в сторону понижения.

Скачать программу SetCPU на Андроид вы можете по ссылке ниже.

Разработчик: MichaelHuang
Платформа: Android (зависит от устройства)
Язык интерфейса: Русский (RUS) - v3.0.9
Root: Обязателен
Состояние: Full





Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: