Управление частотой процессора Android

Обновлено: 21.11.2024

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

Я не понимаю одного: зачем для этого нужен root? Что может быть плохого в снижении частоты процессора?

4 ответа 4

1) Поскольку только пользователь root может изменить частоту/регулятор системы. Это вызов функции системного уровня, и только root может это сделать.

2) Низкая частота на самом деле не проблема. Это разгон. Вы не можете повредить устройство, но можете попасть в бесконечный цикл загрузки, и обычный пользователь может не знать, как из него выйти.

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

Если вы не согласны со Sparx, если вы измените частоту ЦП с помощью поддерживаемых методов, которые предоставляет каждый современный ЦП, ее изменение, даже в быстрой последовательности, не повлияет на стабильность. Я бы даже исключил повреждение оборудования из-за сложных механизмов безопасности в современных процессорах (защита от перегрева и т. д.).

Почему только root может устанавливать частоту и регулятор частоты? Ну, во-первых, потому что это Linux позволяет делать это только root. Во-вторых, я думаю, что это потому, что обычному пользователю все равно. Это система решает, какая частота является лучшей в текущей ситуации. Он делает это автоматически, без вмешательства пользователя и хорошо работает под Android (ИМХО). Хотя считается, что SetCPU может продлить срок службы батареи, он также может сократить его, если он сделан неправильно. Вопрос в следующем: считаете ли вы, что стороннее приложение лучше управляет батареей, чем приложение производителя устройства? В некоторых случаях да, но не всегда.

Если я установлю слишком низкую частоту, мое устройство не выйдет из глубокого сна. Это делает его непригодным для использования, пока я не вытащу батарею и не перезагружу. Постоянный разгон добавляет тепла, что плохо для любого электронного компонента. Вероятность аппаратного сбоя намного выше. Да, и если вы хотите, setCPU позволяет пользователю использовать разные регуляторы — они сообщают ЦП, как и когда масштабировать вверх/вниз, чтобы улучшить либо производительность, либо время автономной работы по усмотрению пользователя.

Я понял вашу мысль. Но похоже, что setCPU использует некоторые внутренние причуды для понижения/разгона. Вот почему я добавил «с помощью поддерживаемых методов, которые предоставляет каждый современный ЦП», что должно быть безопасным для любого ЦП.

Для этого потребуется "root", правильно. Я говорю обо всем, на что способен регулятор частоты процессора, и о двоичном файле cpufred-set. Оба используют одни и те же системные вызовы и не смогут повредить или сделать вашу систему нестабильной.

Изменение частоты ЦП может привести к нестабильности вашей системы, а также к повреждению оборудования. Такую важную функцию лучше не допускать к использованию обычными пользователями, которым на самом деле не нужно вносить такие изменения.

Поскольку это, безусловно, основная (важная) функция, необходим root-доступ.

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

Примеры возможных убытков:

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

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

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

Недавнее обновление Superpowered Audio SDK (версия 1.0.0) содержит следующие значительные улучшения:

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

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

Прямой звук обрабатывается и воспроизводится фрагментами фиксированного размера (аудиобуферами). Аудиосистеме требуется постоянный поток таких буферов, чтобы обеспечить непрерывное воспроизведение звука без прерываний.

Каждый буфер представляет собой небольшой промежуток времени. Вычисление следующего фрагмента аудио должно завершиться в течение этого времени. Например, если аудиостек мобильного устройства использует размер буфера 192 сэмпла с частотой дискретизации 48000 Гц, пользовательское приложение должно вычислить новый буфер в течение 4 миллисекунд (т. е. 192/48).

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

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

Аудиопоток с большим количеством прерываний звука (что раздражает разработчиков и пользователей).

Это подтверждается на форуме Android Audio здесь.

Если вам интересно, iOS также сталкивается с этой проблемой, но благодаря лучшему планированию, чем Android, пропадание аудио слышно только тогда, когда аудиоприложение вычисляет следующий фрагмент аудио более чем за 50 % времени, представленного буфер.

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

Класс сверхмощных процессоров

Этот класс реализует «настоящий» режим устойчивой производительности, при котором ЦП работает на максимальной частоте на всех ядрах ЦП. Он работает как в переднем плане, так и в фоновом режиме, независимо от фокуса окна. Он поддерживает:

  • Все версии iOS и Android.
  • ЦП ARM и X86.
  • Любое количество ядер ЦП.
  • ЦП с несколькими различными ядрами (популярный дизайн в последних мобильных устройствах).

ПРИМЕЧАНИЕ. Если этот режим включен, мониторы ЦП сообщают о более высокой загрузке ЦП. Но повышенная загрузка ЦП является «подделкой», потому что эта функция достигается с помощью инструкции NOP (без операций). Это означает, что ЦП на самом деле не выполняет «настоящую обработку», а вместо этого выполняет пошаговые инструкции.

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

С 2010 года по настоящее время мы используем версии класса SuperpoweredCPU внутри iOS и получаем отличные результаты. Наши собственные приложения имеют значительно лучшее время автономной работы, чем приложения конкурентов.

Мы также измерили влияние нашего нового режима постоянной производительности Superpower на время работы от батареи на Samsung Galaxy Note 5, и разница в продолжительности работы от батареи за 5 часов составила менее 5 %.

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

CMake и обновленные и модернизированные примеры проектов Android

На сегодняшний день каждый пример проекта Superpowered Android поддерживает последнюю официальную среду разработки Android Studio 2.2.2.

Мы удалили рекомендованный Google прием "ложное касание", чтобы ЦП работал на более высокой частоте. Этот трюк с "ложным прикосновением" работал только на устройствах Nexus, а совсем недавно на Android 7.0 он работал, только если приложение было в фокусе (передний план), поэтому он не очень полезен.

Каждый пример проекта был обновлен для использования режима устойчивой производительности SuperpoweredCPU, который обеспечивает масштабирование частоты процессора для каждого устройства Android в каждой версии Android (начиная с 4.4.1).

Среда сборки также обновлена ​​до Gradle+CMake, которая теперь является новой официальной средой сборки, рекомендованной Google. За последние 3 года мы видели 3 разных среды и надеемся, что Google, наконец, согласится с текущим решением, поскольку система сборки Android должна быть наконец «готова».

CMake выполняет сборку быстрее, чем ndkbuild, а экспериментальный подключаемый модуль Gradle и CMake несколько менее сложны. Однако не ожидайте скорости, подобной Xcode.

Обновленные и модернизированные примеры проектов iOS

Обновлено для последней версии Xcode. В последних версиях iOS требуются некоторые разрешения/сообщения для записи и музыкальной библиотеки, поэтому мы также реализовали их.

Обновленное приложение iOS Latency Test

Также исправлено несколько вещей.

В конце этого месяца у нас будет больше материалов. А пока получайте новейшие и лучшие версии Superpowered.

Используйте Antutu CPU Master для управления скоростью процессора вашего Android-устройства

Тактовая частота процессора и температура устройства

Несколько недель назад я купил Android-устройство MK809III TV-stick в китайском магазине. Он довольно мощный, с 2 ГБ оперативной памяти. Самое главное, он оснащен четырехъядерным процессором RK3188 Cortex-A9 с тактовой частотой 1,4 ГГц, выполненным по 28-нанометровому техпроцессу. Это один из самых мощных чипов, доступных на рынке для устройств такого типа.

Как только он попал домой, я начал с ним играть. Однако именно тогда и начались проблемы. После того, как я скачал несколько приложений из Google Play, флешка начала перезагружаться случайным образом без видимой причины.

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

Повышение тактовой частоты сверх проектных ограничений

RK3188T работает на более низкой тактовой частоте ЦП, поэтому его производительность ниже. По сути, это более дешевый чип. Но почему было жарко? Продавец использовал разогнанное ПЗУ, чтобы выглядело так, как будто он использует более быстрый чип. Следовательно, он заставлял его работать за пределами своих расчетных пределов, и это сильно повышало температуру. Другими словами, более высокая скорость работы чипа приводила к перезагрузке.

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

AnTuTu CPU Master предназначен для управления тактовой частотой процессора и графического процессора на вашем Android-смартфоне, планшете или ТВ-приставке. Он может установить максимальную тактовую частоту для вашего телефона Android, чтобы он не запускал процессор выше этой скорости. С одной стороны, это охлаждает устройство. С другой стороны, это экономит электроэнергию и продлевает срок службы батареи вашего устройства.

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

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

Использование изменения тактовой частоты устройства

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

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

Заключение

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

Максимальная и минимальная частоты процессора, разрешенные ядром, могут быть установлены для всех прошивок Android, когда-либо созданных для HP TOUCHPAD до сих пор и навсегда!
Это применяется как родная настройка (можно сказать, что поставляется с завода).
ПЗУ не будет изменено, нет необходимости в доступе ROOT или установке SuperSu или любых приложений.
Это можно сделать с существующим установленным ПЗУ, нет необходимости перепрошивать, это безопасно и не повредит вашу установку и не помешает вам использовать ваш TP. Даже если вы не сделаете это правильно, ваш TP будет работать как всегда.

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

<р>1. Получите boot.img из ZIP-ROM или текущий uImage из загрузочного каталога TP.
(Boot.img необходимо скопировать в корневой каталог/hpboot ПК, а не на планшет)
2. Запустите каждую из этих команд отдельно в терминале в каталоге, где находится boot.img.
dumpimage -i boot.img kernel.uImage
dumpimage -i boot.img -p 1 ram
dd if=ram of=ramdisk.img.gz bs=64 skip=1
/>gunzip ramdisk.img.gz
mkdir ramdisk; cd ramdisk
cpio -i

<р>3. Перейдите в каталог ramdisk и откройте этот файл в текстовом редакторе:
init.tenderloin.power.rc

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

<р>4. Сохраните изменения и перепакуйте виртуальный диск с ядром.
Откройте терминал в папке ramdisk и вставьте:

найти . | cpio --create --format='newc' | gzip > ../ramdisk_Pack.img

<р>5. Перейдите в папку, где находится исходный файл boot.img, и у вас должен быть файл ( ramdisk_Pack.img )

Вставьте следующие две команды:
mkimage -A arm -O linux -T ramdisk -C none -a 0x00000000 -n "TENDERLOIN MAX CPU" -d ./ramdisk_Pack.img ./ramdisk.uImage

mkimage -A arm -T multi -C none -n ​​"Tenderloin Android MAX CPU" -d kernel.uImage:ramdisk.uImage uImage.Android_MAX_CPU

<р>6. В той же папке, что и ваш исходный boot.img, есть файл с именем uImage.Android_MAX_CPU, скопируйте его в загрузочный каталог вашего TP и перезагрузите компьютер.

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

Обратите внимание:
Ядро в ПЗУ имеет частоты, которые поддерживает, большая часть ПЗУ имеет максимальную частоту 1782000. Ядро SKZ допускает максимальную частоту 1890000.
Сенсорная панель HP была изготовлена ​​с использованием компонентов разных поставщиков. Из-за этих различий не все поддерживают одинаковые максимальные частоты. Очень немногие могут работать под 1890000 или 18360000. Но вам может повезти и он у вас есть. Вы должны знать и протестировать максимальную скорость, которая потребуется, вы можете сделать это с помощью приложений ядра, прежде чем вносить изменения в загрузочный образ, также важны минимальные частоты.

Преимущества создания собственного загрузочного образа с максимальной скоростью:
1 Вы ускорите загрузку, так как процессоры настроены на работу после того, как система начнет процесс загрузки, и вам не нужно ждать, пока запустится графический интерфейс. и приложение ядра применяет настройки.
2. Держите свое ПЗУ в безопасности, без ROOT и без суперпользователя, используйте его как есть.
3. Меньше приложений для установки, чтобы занимать место и тратить память. Приложения ядра и суперпользователь имеют фоновые службы, которые работают все время только для того, чтобы дать вам дополнительную скорость. Другие приложения могут получить дополнительную оперативную память для большей обработки.
4. Использование устройства на более высокой частоте без дополнительной вычислительной мощности дает больше преимуществ, чем использование нескольких приложений для точной настройки ЦП и регуляторов, но с использованием ресурсов.

Читайте также: