Android-приложения работают лишь на одном ядре — правда или вымысел? Повышаем производительность смартфона. Все «за и против

Начинают всячески модернизировать Android, а также разгонять процессор смартфона или планшета. Для того чтобы правильно его разгонять необходимо знать режимы Android ядра и планировщик I/0.

Чем регулировать производительность Android?

Регулировать тактовую частоту изменять режимы Android ядра и планировщик I/0 можно стандартными средствами в прошивках CyanogenMod, в приложение SetCpu , Tasker , Antutu CPU , Tegrak OverClock и другие. Прежде всего вам будут необходимо получить root права .

Режимы Android ядра

Если говорить правильно о режимах Android ядра то правильно будет называть -алгоритмы управления частотой процессора или kernel CPU governor. Не все режимы которые здесь перечислены могут быть в вашем Android устройстве. Android работает на ядре Linux .

Какие бывают CPU governor

1: OnDemand
2: OndemandX
3: Performance
4: Powersave
5: Conservative
6: Userspace
7: Min Max
8: Interactive
9: InteractiveX
10: Smartass
11: SmartassV2
12: Scary
13: Lagfree
14: Smoothass
15: Brazilianwax
16: SavagedZen
17: Lazy
18: Lionheart
19: LionheartX
20: Intellidemand
21: Hotplug
22: Wheatley
23: Lulzactive
24: AbyssPlug
25. BadAss
26. Ktoonservative
27. AssWax
28. Sleepy
29. Hyper
30. SmartassH3
31. Smartmax

Подробно о каждом режиме

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

OndemandX - улучшенная версия ядра ondemand, с добавлением профиля для сна и пробуждения. Качество его работы во многом зависит от планировщика I/0.

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

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

Conservative - «энергосберегающий» режим ядра. В 2 раза медленней ondemand поднимает тактовую частоту процессора. При одинаковых частотах в 2 раза уступает производительности ondemand. Без нагрузки устанавливает минимальную частоту процессора. Рекомендуется использовать также когда выключен или включается экран.

Userspace - «нейтральный» режим работы ядра. Настраивает сам пользователь. Встречается очень редко.

Min Max - «нейтральный» режим работы ядра. Модифицированный режим ядра Conservative, но в отличие его более производительный. Использует или максимальную или минимальную частоту ядра, промежуточных нет!

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

InteractiveX - «производительный» режим ядра. Как видно из названия модифицированный режим ядра Interactive. Более энергосберегающий.

Smartass - «производительный» режим ядра. Модифицированный режим ядра InteractiveX. Очень популярен у пользователей Android.

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

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

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

Smoothass - разрабатывался как альтернатива Smartass. Более производительный, вследствие чего менее энергоэффективный.

Brazilianwax - разрабатывался как альтернатива SmartassV2. Более производительный, вследствие чего менее энергоэффективный.

SavagedZen - «энергосберегающий», разрабатывался как альтернатива Smartass. Более энергоэффективный, вследствие чего менее производительный.

Lazy - режим ondemand с более быстрым поднятием частоты.

Lionheart - «производительный» режим ядра. Похож на Performance, но с более быстрым поднятие частоты.

LionheartX - улучшенный вариант Lionheart с включениями Smartass.

Intellidemand - интеллектуальный вариант OnDemand. Схож с Interactive. Активно подымает частоту в требовательных задачах и плавно в менее требовательных.

Hotplug - очередной вариант OnDemand. Отключает ядра процессора в простое

Wheatley - очередной вариант OnDemand.

Lulzactive - смесь Interactive и Smartass. Увеличивает частоту на шаг при загруженности системы более чем 60%. Уменьшает на шаг если меньше 60%.

AbyssPlug -

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

Ktoonservative - усовершенствованный вариант Conservative.

AssWax - вариант Interactive.

Sleepy - очередной вариант по достижению производительности и автономности.

Hyper - очередной вариант основной OndemandX

SmartassH3 - предназначен для экономии батареи

Smartmax - представляет собой сочетание между OnDemand и Smartass2 По умолчанию настроен это для экономии заряда батареи.

Какие бывают планировщики I/0

Планировщики I/0 - Планировщики ввода/вывода выполняют две основные операции: слияние и сортировка. Слияние представляет собой процесс принятия двух или нескольких смежных запросов ввода/вывода и объединения их в один запрос. (взято из opennet.ru).

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

1: Noop
2: Anticipatory
3: CFQ
4: Deadline
5: VR
6: Simple или SIO
7: BFQ

Подробно о каждом планировщике I/0

Noop - самый безопасный и простой планировщик, так как только объединяет запросы но не сортирует.

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

CFQ - объединяет задачи в цели и по кругу их обходит. Сбалансированный и производительный вариант для Android.

Deadline - хранит отсортированную очередь на запись, новые запросы сортируются и перемещаются в конец очереди. По своим возможностям превосходит CFQ.

VR - с элементами Deadline. Самый не стабильный планировщик, но все же самый производительный.

SIO - выполняет сначала быстрые запросы, после более емкие. Стабильный, простой и производительный.

BFQ - производительный, но все же хуже чем VR и SIO

Режимы Android ядра и планировщик I/0 стоит использовать

Планировщики - SIO, VR или Noop

Режимы ядра

По сбережению энергии - InteractiveX, Smartass, SavagedZen (conservativ и powersave не учитывались так как для работы они не годятся)

По производительности - SmartassV2, Lionheart, MinMax



Независимо от того, насколько быстро работают наши телефоны, мы всегда желаем, чтобы они были чуточку быстрее. К счастью, 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 теперь.

Многие привыкли подключать смартфоны к заряднику каждый вечер. Сегодня это норма. Развиваются технологии, оптимизируется Android, производители нашпиговывают свои аппараты hi-end начинкой, но при этом, как будто сговорившись, очень неохотно увеличивают емкость аккумуляторов, издевательски балансируя на том самом уровне автономии в один световой день. Но не будем поднимать тему о заговоре маркетологов, в этой статье мы раскажем об оптимизации того, что имеем, и всех наиболее эффективных и безопасных способах улучшить энергосбережение смартфона как минимум на 50%.

ЧАСТЬ 1. ЖЕЛЕЗО

Беспроводные сети и GPS

Запомни: хочешь сэкономить энергию - отключай лишних потребителей, то, чем в данный момент не пользуешься. Например, оставленные включенными беспроводные сети Wi-Fi и Bluetooth постоянно сканируют пространство и ищут доступные точки для подключения или устройства для спарринга; включенная «передача данных» (мобильный интернет) позволяет многочисленным приложениям постоянно «ломиться» в сеть для обновления своих данных и отправки запросов, дополнительно загружая процессор и опустошая проплаченный трафик или кошелек; включенная геолокация (GPS, ГЛОНАСС, определение координат по беспроводным сетям) помогает постоянно отслеживать твое положение, выполняя запросы любопытных приложений. Все это может потреблять значительную часть заряда аккумулятора, поэтому «вымыл руки, закрыл кран», ну в смысле - нажал на кнопку и отключил потребителя.

Мобильная сеть

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

Проблема выбора: 2G или 3G Рассматривая характеристики любого телефона, ты, наверное, замечал, что производители всегда указывают время автономной работы в сетях 3G меньше, чем в сетях 2G. Это объясняется тем, что сети 3G многоканальны и обеспечивают более высокое качество и надежность соединения (безразрывный переход от одной станции к другой). Поэтому, если тебя не пугают кратковременные потери сигнала и чуть худшее качество разговора при выходе из подземного перехода (хотя это зависит и от множества других факторов), можешь в настройках режима сети (Настройки → Еще →Мобильные сети → Тип сети) выбирать «только 2G» (only GSM) и экономить до 20% на связи с сетью.

Кроме того, если ты находишься в зоне плохого приема сети 3G, а на аппарате выбран автоматический режим «2G/3G», аппарат будет постоянно пытаться подключиться к сети 3G, даже если ее сигнал в несколько раз слабее сигнала 2G. Стоит ли говорить, что такие постоянные скачки требуют значительного расхода энергии, которого также можно избежать.

Однако, когда речь заходит о передаче данных (подключении к интернету), ситуация меняется на противоположную. При болееменее значительном трафике предпочтительнее использовать сети 3G или Wi-Fi вместо 2G. На первый взгляд это кажется спорным утверждением, но дьявол кроется в деталях: во-первых, передача данных в сети 2G (по технологии EDGE) требует на 30% больше энергии, чем в сети 3G, и лишь на 10% меньше, чем потребляет Wi-Fi; во-вторых, скорость передачи данных в сети 3G (HSPA) до 170 раз выше скорости в сети 2G (EDGE), не говоря уже о Wi-Fi, где разница будет в 600 раз. Это означает, что для скачивания той или иной информации устройству потребуется меньше времени, а значит, и меньше энергии.

Простой пример: ты хочешь скачать несколько песен общим размером 30 Мб. С помощью EDGE на это уйдет 30 Мб * 8 / 0,08 Мбит/с / 60 = 50 мин, c помощью HSPA - 30 Мб * 8 / 14 Мбит/с = 17 с, ну а с помощью Wi-Fi - всего 30 Мб * 8 / 50 Мбит/с = 5 с. Теперь, умножив время скачивания на среднее потребление того или иного режима, получим: для EDGE - 300 мА * 50 мин / 60 = 250 мА ч; для HSPA - 210 мА * 17 с / 60 / 60 = 1 мА ч; для Wi-Fi - 330 мА * 5 с / 60 /60 = 0,5 мА ч. В конечном итоге все будет зависеть от объема данных: чем он больше, тем больше будет экономия при использовании более скоростной сети.

Вывод.

При упоре на голосовые вызовы и редком обращении в интернет (например, только обновление погоды и чтение новостей) предпочтительней использовать режим 2G, он даст наибольшую экономию энергии. При частом использовании интернета с большим объемом трафика (просмотр страниц с картинками, работа с почтовыми вложениями, скачивание файлов) предпочтительнее использовать режим 3G. В качестве компромиссного решения при необходимости можешь менять настройки сети 2G/3G, используя панель быстрого доступа или виджеты.

Датчики и сенсоры

Современные телефоны напичканы всевозможными датчиками, которые, естественно, требуют энергии для своей работы. Посмотреть, какие датчики есть в твоем телефоне и сколько они потребляют, очень просто, достаточно установить приложение Android System info, зайти во вкладку System и выбрать пункт Sensor. В первых Android-устройствах обычный акселерометр (датчик, определяющий положение устройства) потреблял до 15 мА ч, в современных аппаратах это значение, как правило, в 100 раз меньше, поэтому нет особого смысла отключать «автоматическую ориентацию экрана» или «автоматическую яркость» (датчик освещенности), значительным образом это не повлияет на общее энергопотребление аппарата.

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

Экран

Экран любого современного устройства - главный потребитель энергии, при этом есть ряд основных факторов, влияющих на его прожорливость:

  1. Размер экрана. Чем экран больше, тем больше энергии необходимо на его подсветку.
  2. Яркость и время подсветки. Чем больше значения яркости экрана и тайм-аута отключения, заданные в настройках, тем больше устройство потребляет энергии. Рекомендую установить автоматическое управление яркостью (по датчику освещенности) и тайм-аут подсветки не более 30 с.
  3. Разрешение экрана. Чем оно выше, тем больше энергии потребляет видеоускоритель устройства, отвечающий за отображение изображения на экране.
  4. Технология изготовления экрана. Грубо все экраны можно разделить на две категории:
  • жидкокристаллические (ЖК) дисплеи, состоящие из ЖК-матрицы и источника света (подсветки). К ним относятся экраны LСD, TFT-LCD, SCLCD, IPS, TFT;
  • дисплеи на органических светодиодах (OLED), состоящие из активной матрицы, излучающей свет. К ним относятся экраны AMOLED, Super AMOLED и подобные.

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

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

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

Сравнение энергопотребления экранов LCD и AMOLED в зависимости от отображаемой картинки

Смотрим таблицу..
Таким образом, все плюсы от экономичности AMOLED- экранов можно получить, лишь соблюдая некоторые нехитрые правила, а именно: стараться не использовать белый фон, в приложениях устанавливать темные темы; в качестве обоев рабочего стола использовать темные картинки с температурой цветов не более 6500К. Только в этом случае AMOLED-экран сможет оказаться до двух раз экономичнее ЖК-экрана.

Процессор

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

Частота.

Все современные устройства могут управлять частотой своего процессора, уменьшая ее при малых нагрузках, тем самым снижая энергопотребление. Правильно оптимизированное устройство при выключении экрана должно переходить в режим экономичного энергопотребления, снижать частоту процессора до 15–30% от максимальной величины и оставаться на этой частоте до следующего пробуждения пользователем. Поэтому оценить оптимизацию энергопотребления устройства можно, посмотрев статистику работы процессора на той или иной частоте. Для этого открываем приложение Android System info, выбираем вкладку System и пункт CPU.

Если большую часть времени процессор работает на максимальной частоте, значит, с оптимизацией есть проблема. Для ее решения устанавливаем приложение SetCPU (нужен root), с помощью которого можно не только задать рабочую частоту процессора (или уточнить диапазон рабочих частот), но и создать профили частот, активируемые по какому-либо событию (запуску приложения, уменьшению заряда, отключению экрана, времени), то есть оптимизировать процесс управления частотой под себя. Например, частоту в рабочем режиме можно установить не более 1000–1200 МГц; по событию «экран выключен» и «заряд менее 15%» максимальную частоту ограничить половиной от рабочей частоты, а минимальную - установить на минимум; задать профили для часто запускаемых приложений с ограничением их максимальной рабочей частоты той величиной, при которой сохраняется комфортная для тебя отзывчивость интерфейса (так, для игр вполне может хватить 800 МГц, а для просмотра фильмов и прослушивания музыки - 500 МГц). Такой подход поможет сэкономить до 50% заряда, расходуемого процессором.

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

Скажу лишь, что для многоядерных устройств предпочтительнее использовать режим hotplug (если такого режима у тебя в списке SetCPU нет - используй interactive, ну или ondemand, он есть по умолчанию на большинстве ядер), который в простое отключает незадействованные ядра процессора и наиболее эффективен в соотношении производительность/экономичность.

Уменьшение напряжения процессора (андервольтинг).

Этот вариант оптимизации энергопотребления процессора уже рассматривался в статье , поэтому не будем на нем останавливаться.

ЧАСТЬ 2. СОФТ

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

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

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

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

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

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

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

Disable Service: синий - работающие в фоне процессы, красный -отключенные, белый - общее количество процессов приложения

C такими приложениями и процессами можно поступить одним из следующих способов:

  • Удалить, если это не особо нужное пользовательское предложение.
  • Отключить автозагрузку с помощью Autorun Manager. Советую отключать не только подозрительные и будящие программы, но и другие редко используемые приложения, которые часто висят в оперативной памяти и кеше (вкладка настроек «Приложения → Работающие»). Так в памяти появятся действительно часто запускаемые программы.
  • Временно заморозить с помощью Titanium Backup или того же Autorun Manager. Это на случай, если приложение понадобится в будущем или если речь идет о системном приложении, которое нежелательно удалять (если, например, ты хочешь сохранить возможность обновления по воздуху). При заморозке приложение пропадет из списка программ, но физически не удалится. Однако следует помнить, что заморозка некоторых системных приложений может привести к сбою в работе системы, поэтому действуем осторожно.
  • Отключить конкретный будящий процесс приложения с помощью программы Disable Service, без отключения всего приложения.
  • Принудительно отправить будящие приложения в глубокий сон с помощью приложения Greenify. Но следует учитывать, что «гринифицированное» приложение перестанет запускаться по событиям, обновлять свои данные, получать push-уведомления и прочее до следующего запуска вручную. Еще одна полезная мелочь - Greenify встраивается в Wakelock Detector, и его функционал доступен прямо оттуда.

Иногда сторонние приложения могут влиять на сон устройства через системные процессы, которые оказываются «крайними» и выводятся в списке wakelock’ов как виновники незасыпания (например, процессы suspend, events/0). Найти истинных виновников незасыпания в этом случае можно, последовательно замораживая/удаляя подозрительные приложения (начав с недавно установленных) и наблюдая за лидерами в списке wakelock’ов.

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

  • Покупай аккумуляторы и зарядные устройства только от официального производителя. Как показывает опыт, реальная емкость дешевых аккумуляторов гораздо меньше указанной, а дешевые зарядные устройства в лучшем случае не выдадут заявленный на них максимальный ток, а в худшем - навредят аккумулятору повышенным напряжением или пульсирующим током.
  • Старайся заряжать устройство не от USB-порта компьютера, а от сетевой зарядки. На старте зарядка аккумулятора идет более высоким током, который не может выдать USB-порт, в результате увеличивается время зарядки и уменьшается ресурс аккумулятора (прежде всего это касается мощных аккумуляторов с большим зарядным током от 1 А).
  • Заряжай устройства полными циклами, старайся не допускать глубокого разряда (до выключения) и частичных подзарядов в середине цикла, все это сказывается на ресурсе аккумулятора, постепенным снижением его емкости.
  • SD- и SIM-карты могут влиять на энергопотребление. Если ты столкнулся с высоким разрядом, попробуй походить день без SD-карты. Если предположения подтвердятся - отформатируй карту в самом телефоне или при необходимости замени ее. SIM-карты также лучше менять на новые каждые 3–4 года (благо это бесплатно).
  • Раз в полгода (а при подозрительно быстром разряде - чаще) проверяй внешнее состояние аккумулятора на наличие вздутия и деформаций (начало вздутия можно заметить, приложив аккумулятор к ровной поверхности), в случае их обнаружения аккумулятор лучше заменить.
  • Также периодически продувай и чисти USB-контакты устройства.
  • Last updated by at Январь 27, 2017 .

Быстро разряжается, часто виснет, не хватает нужных функций… Кто из вас не сталкивался с этими «историями»?
Вот и у меня возник момент «х», когда я решился на процедуру, доселе мне не известную. Прошивка. Казалось бы, что может быть сложного? Скачиваем прошивку, скачиваем утилиту, подключаем телефон и прошиваем!
Вы в сказки верите? Я нет. И поэтому, начав эту процедуру, я был готов к «сказочным» приключениям.
Наломав кучу палок, дров, залежей угля и иных деревянных ресурсов, я таки прошил телефон, да не просто прошил, а с не оригинальным ядром! И до сих пор, спустя 3 месяца в восторге! Почему я раньше этого не сделал?
В двух словах - телефон просто «ожил»!
Дальше - что же я получил на выходе? Внимание, много «букав».
Я получил:
1. Стабильность.
2. Увеличение продолжительности работы в 2 раза. С одних суток активного использования до двух суток.
3. Получил запись телефонных разговоров с линии . Это был самый главный критерий. Вы знаете что это такое, запись с линии ?
Это способ записи телефонных переговоров «как будто вы говорите в одной комнате и вас обоих записывают на диктофон. Отлично слышно обоих собеседников. ВНИМАНИЕ, данная функция не совсем законна на територии РФ.
4. Новый, улучшенный дизайн, опционал.
5. Неограниченную свободу в выборе дальнейшего „улутшательства“.

Итак, вы определенно решили , что ваш смартфон, изжив свою гарантийную жизнь, готов к реинкарнации, так как стандартная „душа“ исчерпала свои ресурсы и возможности. Ну чтож. Раз так, то предлагаю прежде всего ознакомиться с правилами, точнее с исключениями из правил:

1) Не все прошивки одинаково полезны. Или „прошивка - это не только 200мб полезного софта...“. ТОЛЬКО создатель конкретной прошивки/ядра знает что „внутри“. Другими словами - если у Вас есть секреты - кастомные прошивки НЕ для Вас. А вдруг глубоко в прошивке запрятан скрипт запоминания паролей от Яндекс.Денег? КРОМЕ автора прошивки - этого никто не знает…

2) Некоторые прошивки и вовсе опасны ввиду того, что могут работать с кастомным ядром увеличивая и уменьшая напряжение на процессоре тем самым „играя“ с его частотой…
И дураку понятно, что найдутся энтузиасты готовые на нас с вами дураках испытать чрезвычайно опасные параметры на наших с вами аппаратах в целях выяснить „а сдохнет ли зайчик если его чуть-чуть надуть...“ зачастую эти опыты приводят к вечному ребуту с которым сможет справиться далеко не каждый рядовой пользователь. А к чему ЕЩЕ эти опыты приведут - никто не знает. Так что качайте только те прошивки, обсуждения которых позитивно идут, у которых большая популярность, которые выполнены достаточно знаменитой командой энтузиастов (напр. команда разрабов 4pda).

3) Если после установки прошивки первоначальный запуск занимает более 10 минут (зависает на первоначальной записи, к примеру, „SONY“ или „android“, просто сделайте всё сначала и повнимательнее. Прямо с самого начала. Делайте всевозможные сбросы, вайпы, очистки и заливайте заново, есть шанс что во второй раз все пройдет „на Ура“. У меня так и случилось. Опыт…

4) Не все прошивки подходят под все ядра. Можно пойти „Ва-банк“, рискнуть и попробовать прошиться со своим ядром (как в моем, благополучном, случае). И, вполне возможно, что прошивка отлично и стабильно будет работать несмотря на заверения автора. А может и нет - в процессе „неведомых самому Богу“ комбинаций, может образоваться знаменитый „кирпич“, „вечный ребут“ и так далее. В любом случае Вы особо ничего не теряете - поменяете ядро или возьмете другие перошивки, если, конечно, квалификации хватит +)))

5) Не все прошивки подходят под ядро выкладываемое рядом с прошивкой. В смысле ядра, которые указывает сам автор. Да, и такое бывает. Может у автора в такой комплектации все „пашет“ хорошо, но, что у Вас лично возникнет куча глюков в виде отсутствия Wi-Fi, сети оператора и т.д. - гарантий никаких нет. На то она и „кастомная“ прошивка, чтоб „на свой страх и риск“. Так что учите „мат.чать“, чем вы сейчас и занимаетесь;)

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

7) Не факт, что если у соседа НЕ получилось прошиться и вовсе, то и у вас не получится, вполне возможно, что сосед что то делает не так.
А ВООБЩЕ (якобы выделено ДВОЙНЫМ жирным), КАЖДЫЙ ЭКЗЕМПЛЯР КАЖДОЙ МОДЕЛИ АППАРАТА ПО СВОЕМУ УНИКАЛЕН. Это изначально происходит по миллионам причин. Конвеер на заводе „сглючил“, начинка аппарата бракованная или „почти“ бракованная но допущенная к реализации, физические повреждения аппарата при транспортировке, неграмотное обращение в салоне продаж (что бывает часто) и так далее. Это как раз и означает, что если взять 10 одинаковых аппаратов, то нет никакой гарантии, что на все 10 встанет та или иная прошивка с ядром.
Дерзайте, только опытным путем вы проверите прошивку на своем „теле“. Все заверения авторов типа „проверено 100%“ - лесть самим себе. 100% не бывает. Не верьте в чудеса. ПРИ ПРОШИВКЕ будьте готовы идти завтра покупать новый телефон.

8) Ну и, почти наконец, если Вы приследуете какую то конкретную цель - кроме вас и конкретно Ваших экспериментов НИКТО не скажет Вам какое ядро вам нужно под какую модель и какая прошивка дает бОльший прирост производительности, „живучести“ батареи и так далее. Пожалуйста, (Опять же двойной ЖИР) не мучайте себя, админов и таких же как Вы, пытающихся найти нужную инфу в бесконечности страниц того или иного форума, создавая бестолковые темы а-ля „Какое ядро надо под “SONY arc Ice 2 R2». Скорее всего вам не ответят, либо, с завидным отвращением, отправят на УЖЕ «сто лет» созданную тему СПЕЦИАЛЬНО для Вас. Юзайте ПОИСК. Благо он везде есть.

9) Помните, что, как правило, чем выше становится производительность, тем меньше аппарат будет держать батарею, и наоборот. Не верьте в чудеса. Нельзя получить из изначально «средненького» процессора GAME-монстра. Это фантастика и бредовые грёзы автора прошивки/ядра.

10) Есть прошивки/ядра, которые умеют подстраиваться под нужды пользователя, то есть меняют частоту процессора «налету». Но и тут есть минус - чтобы заставить ядро увеличить частоту, надо его «нагрузить», то есть когда вы будете открывать, к примеру, Оперу или игру, телефон на пару сек. затормозится, затем всё будет как по маслу, быстро и гладко, но тормоза вначале все-равно будут. И так каждый раз после простоя, когда экран выключен (опциАнально). Так как в этот момент частота процессора снижается до минимума. А если вы хотите высокую производительность постоянно, то смотрите пункт 9).

Но, если вы до сих пор не испугались, то просим вас проследовать дальше.

Вся прошивка будет происходить на примере телефона Sony Ericsson Ark S.

Итак, начинаем. Буду стараться писать всё «средним» для понимания языком.

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

1. Качаем и устанавливаем на компьютер: «FlashTool». Бывает разных версий. Лучше скачать несколько сразу. Не все версии и не всегда срабатывают.
2. качаем понравившуюся прошивку 4.х.х. Тут уж весь интернет ваш. Ищите прошивку на именно вашу модель. Не стоит думать, что раз модели внешне похожи, то и прошивки будут взаимозаменяемыми;). Это не так. Ищите только вашу модель.
3. Кидаем ее (не распаковывая в формате: .ftf) в папку «FlashTool»: c/flashtool/firmwares. Директория может быть другой. Но это уже детали…
4. Запускаем «FlashTool», нажимаем «значек» молнии - выбираем «flashmode». Или что то подобное. В зависимости от версии программы надпись может слегка изменяться.
5. выбираем в «обзоре» прошивку и, необходимо обязательно поставить галочку на «No Final Verification», ИНАЧЕ НИЧЕГО НЕ ПОЛУЧИТСЯ!!!
6. Нажимаем «ок» и после появления окна с предложением подключить тело (пару секунд) -
(желательно без сим и карты памяти, вроде писали что это избавит от последующих лагов «ICS»)
Кто не знает, что такое «ICS» - обязательно погуглить. Вдруг вы ищите совсем не то, что хотите найти?;)
7. подключаем выключенное тело (ваш телефон) с зажатой левой клавишей «назад» (для ARC S !!!) к компьютеру,
на «теле» загорится зеленый диод и начнется процесс прошивки!
Клавишу «назад» при этом можно отпустить.
8. Ждем окончания, в одной из последних строк программа «flashtool» напишет: «Flashed finished»
9. Отключаем «тело» от USB, загружаем аппарат (терпеливо ждем -
первая загрузка может длиться до 10 минут в зависимости от прошивки)
10. радуемся новой прошивке «ICS»!!! (юзаем гугл, если вдруг вы прошились, и не вкурсе ЧЕМ именно вы прошились).
Если возникает ошибка типа «flashtool не может получить доступ к телефону» - надо поменять дрова в диспетчере устройств на «01004». Описал бы подробнее, но у всех разные телефоны с, только Богу известными, начинками.

Еще помогает смена USB порта на компе, к примеру, у меня через USB 3.0 порты прошиваться отказался, так же помогает и ПЕРЕЗАГРУЗКА после каждого изменения параметров (дрова, проги, утилиты).

Для не стандартных прошивок вам понадобится разлокированный бутлоадер.
Как это сделать на примере всё того же Ark S

Необходимые инструменты и компоненты:

1. ПК с подключением Internet.
2. Приложение ADB RUN (скачать и установить которое можно очень легко, загуглив только название программы).
3. Смартфон марки Sony/Sony Ericsson с заряженной батареей минимум на 50%
4. USB кабель

Инструкция разблокировки Bootloader:

1. Перейдите на сайт Unlocking the boot loader
2. Нажмите снизу «Start unlocking the boot loader»
3. В окне видите Имя, IMEI смартфона (для этого наберите в нем *#06#) и Вашу электронную почту.
4. В присланном письме будет указан код разблокировки, сохраните его.
5. Выключите смартфон.
6. Запустите программу Adb Run, ранее установленную.
7. На выключенном смартфоне зажмите кнопку поиск (обычно кнопка «ДОМ», центральная кнопка) и подключите его к ПК с помощью USB кабеля.
8. После установки USB драйвера в программе ADB Run перейдите в меню Manual пункт Unlock Sony/ Sony Ericsson (управление ТОЛЬКО с помощью цифр и кнопки Enter).
9. Выберите пункт «Attached» если вы получили обратный ответ 0.3 значит смартфон подключен правильно.
10. Вернитесь в «Unlock Sony/ Sony Ericsson»
10 Выберите пункт «Unlock Bootloader» и введите код для разблокирования, полученный по почте, и нажмите Enter.
11. Перезагрузите смартфон.
12. Bootloader разблокирован теперь Вы можете получить Root права или еще что там вам взбредет в голову с беззащитным смартфоном.

Ну и кульминация! Установка кастомной прошивки!

Основное требование для установки кастомных прошивок - РАЗБЛОКИРОВАНЫЙ БУТЛОАДЕР! Что мы и сделали в предыдущем абзаце.
Без разблокированого бутлоадера установка кастомной прошивки НЕВОЗМОЖНА!

1. ЗАРЯДИТЬ ТЕЛЕФОН НЕ МЕНЕЕ ЧЕМ НА 70%
2. Пред прошивкой копируем на карту памяти (чаще микро СД) архив с прошивкой в формате.zip. Можно в корень. Так даже проще.
3. Включаем телефон и часто нажимаем «кнопку уменьшения громкости» для входа в рекавери - ClockworkMod Recovery (CWM) на новом ядре(!!!) Помним, да, что мы установили кастомное ядро;)
4. Преремещаемся по меню качелькой громкости, ищем и выбираем пункт «Factory reset», подтверждаем выбор кнопкой HOME (центральная). Произойдет сброс на заводские настройки телефона.
5. Преремещаемся по меню и выбираем пункт «Wipe data» или «Wipe cache partition» (зависит от ядра), подтверждаем выбор. Происходит очистка ВСЕХ данных на телефоне.
6. Преремещаемся по меню и выбираем пункт «Install zip from sdcard».
7. Далее пункт «choose zip from sdcard»
8. Выбираем "******.zip" файл с прошивкой
9. Подтверждаем выбранное действие. Прошивка будет длиться очень не долго.
10. После окончания процесса заливки возвращаемся в главное меню CWM и выбираем reboot system now (перезагрузка телефона). Перезагрузка.

Поздравляю, вы установили Кастомную прошивку! Осталось понять - нахрена вам это надо;)

Что я получил от кастомной прошивки с ядром:

1. Быстро работает телефон, если дать ему 5 сек. для «раскачки».
2. ГОРАЗДО меньше разряжается батарейка благодаря тому, что частота процессора в постое становится всего 233 Гц. А в нагрузке повышается до 1600Гц. При наличии номинальной частоты всего 1000Гц. Другими словами, когда начинаешь использовать телефон активно, он начинает повышать частоту согласно потребностям, ну и начинает «кушать» батарейку.
3. Более развитое управление, меню и т.д. Выбрать можно самому что и куда «помещать».
4. И вообще, можно далее выбирать что, куда и когда ставить.
5. У меня записываются все телефонные разговоры в отличном качестве прямо с линии. В любой момент я могу прослушать разговор с абонентом «Н» за прошлый год, при наличии флэшки на 16Гб. Разве это не прелесть? Я бы только ради этого прошил телефон.
5. Нельзя пользоватся официальной тех.поддержкой Sony Ericsson. Такая утрата… Грусть и тоска… Пойду накачу официальную прошивку…

А в целом, на вкус и цвет все «айфоны» разные. Так что, прошивка - это дело личное. Многие скажут - «Оно вам надо? Чем вам стандартный телефон не угодил?» - А я такого пользователя пошлю… читать заново эту статью;)

Когда у меня появился первый компьютер, никому даже и в голову не могло прийти спросить, сколько ядер у его процессора. Однако прошло совсем немного времени, и появились двухъядерные процессоры, затем четырехъядерные и так далее. То же самое достаточно быстро случилось со смартфонами, однако не все понимают, для чего процессору смартфона иметь 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

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то