Гопнички на районе десять раз думают, прежде чем отжимать у тебя смартфон? А твоя девушка с опаской поглядывает на карманы твоих штанов? Но не льсти себе! Это значит, что у тебя смартфон на Snapdragon 8**. А все эти люди просто боятся обжечься! О проблеме избыточного нагрева этих чипов уже сказано столько, что о ней знает даже твоя бабушка и втихаря использует твой гаджет вместо утюга. За окном середина лета. А значит, самое время поговорить о том, как же сделать наши гаджеты холоднее.
Сегодня испытуемым по доброй традиции будет выступать HTC One M8 и его, мягко говоря, не самый холодный 801-й чип. Конечно же, как ты уже догадался, первым этапом будет выполнение всех шагов этой самой инструкции. До начала работы с Kernel Adiutor. Готово? Тогда переходим к самому интересному:
В интервале 1-5 расположились самые горячие ревизии чипа. К тому же они не способны работать стабильно с вольтажами ниже стоковых. Что? Ты тот самый удачник, обладающей девайсом с ревизией из этого интервала? Well… F**k! Это повод задаться вопросом: “Дорогая карма, что же я тебе сделал?”. И купить, наконец, бабушке нормальный утюг!
Увы, undervolting ревизий ниже 6-ой пусть и возможен, но в крайне незначительных рамках. Что делает его попросту неэффективным. Потому далее статью имеет смысл читать только тем, кому повезло больше. “Мир жесток” ©;
Если же твоя карма чиста и красива не только в Fallout 2, а ревизия PVS находится в рамках заветных 11-15, то преступим к экстремальному undervolting-у. Это та самая панацея от нагрева и возможность обеспечить своему гаджету до полутора часов дополнительного времени работы от батареи! Стоковые значения:
А вот то, то получаем в результате череды экспериментов:
Как видно на скриншоте, в моем случае при использовании самой свежей версии пошивки, последней сборки ядра и актуального билда Kernel Adiutor удалось достичь действительно хороших результатов по сравнению стоковыми вольтажами. Выигрывая 150-35 драгоценных мВ на каждом частотном режиме, я закономерно существенно снижаю нагрев CPU и увеличиваю время автономной работы. При этом не в ущерб производительности! Фактически, вольтаж режима 2,5 ГГц теперь выше значения стокового режима 2,2 ГГц всего на 15 мВ. Согласись, это круто! Стабильность работы абсолютная.
Но здесь нужна оговорка – данные результаты получены на этом конкретном экземпляре. И могут отличаться как в большую, так и в меньшую стороны для каждого отдельно взятого устройства.
Готово? Тогда перейдем к “обработке напильником”:
Что же софтинка делает? Применяя свой собственный движок группировки фоновых задач и процессов, она позволяет без потери производительности в режиме с выключенным экраном (ждущий режим) понизить температуру CPU.
На первый взгляд колебания в рамках 0,1-2° C не играют никакой роли. Но на самом деле это и комфортная температура гаджета, который начинает приятно холодить руку, и еще один плюс к автономному времени работы от батареи. Стоит только взглянуть на ставший теперь типичным температурный режим даже при быстрой зарядке батареи, как все становится предельно понятным:
Готово? Тогда переходим к наглядному тестированию при помощи бенчмарков. Отразилось ли понижение вольтажа на производительности?
Устанавливаем на наш гаджет пачку бенчмарков. Это:
Приступаем к тестированию :).
Первым делом запускаем тесты браузерной производительности Vellamo. Их два. Первый – проверка шустрости гаджета при работе с Chrome. А второй – тест скорости приложений, частью интерфейса которых является web view. Оба варианта абсолютно жизненны, а не высосаны из пальца, как это часто бывает к примеру с Antutu. Мы сталкиваемся с такими задачами ежедневно. Потому и результаты здесь так важны. Итак, для начала напомню вам, что мы получили в прошлый раз. Для HTC One M8, разогнанного до 2,6 ГГц и без undervolting-а:
Да, результат хорош и более чем достойно выглядит и сейчас… Но теперь настал черед результата наших трудов:
И тут нас ждет первый сюрприз! Наш испытуемый, работающий на максимальной частоте 2,5 ГГц, что на 0,1 ГГц меньше (!) и с пониженным напряжением стал работать… быстрее! Да, как видим, определенная доля результата является заслугой более свежей версии бенчмарка и самого Chrome. Но доля его влияния ничтожна. Ключ к таким результатам лежит в разнице температур. А она достигает, как видим, внушительных 4-8° С, что составляет до 25%! Понижение температур закономерно позволяет governor-у нашего CPU работать агрессивнее. Что и приводит к столь замечательным результатам. Как видим, мало кто из гаджетов образца 2015 года может составить здесь конкуренцию нашему прокачанному и охлажденному “старичку”.
Переходим к следующему тесту. На очереди проверка многоядерности, комплексного быстродействия системы в целом и всех ее компонентов в отдельности. Как обычно, начнем с результатов из предыдущей статьи. Тот самый М8 на частоте 2,6 ГГц и без undervolting-а:
А вот что показал наш 2,5 ГГц вариант с понижением вольтажа:
Невероятно, но при потере 21-го жалкого “попугая” ценой 0,1 ГГц мы получили гаджет, температурный режим которого не выходил за рамки 33° С даже под весьма жестким бенчмарком! Разница составляет примерно 4° С. А значит, девайс будет ощутимо холоднее. И работать так же ощутимо дольше во всех режимах.
Пришло время последнего теста пакета Vellamo – Metal. Что же нам демонстрирует 2,6 ГГц вариант?
Результаты снижения максимальной частоты до 2,5 ГГц и понижения вольтажа:
И снова ценой 23 ни на что не влияющих “попугаев” мы получили разницу в температуре ~4° C. Результат более чем достойный. Особенно учитывая показатели более “молодых” конкурентов.
Финальный аккорд нашего тестирования – Geekbench 3. По традиции – результат 2,6 ГГц вариации:
И показатели 2,5 ГГц версии с заниженным вольтажом:
Существенно ли различие в производительности? Гики-практики вроде нас с тобой скажут, что нет. И только самые упоротые фанатики-бенчеры скажут, что важен каждый “попугай”. Их право :).
Стоила ли овчинка выделки? Однозначно стоила! Мы смогли достичь всех поставленных целей. Гаджет стал ощутимо холоднее, он существенно быстрее стоковой версии, он работает дольше. И при этом абсолютно стабилен.
Алгоритм, изложенный в статье, является общим для максимально широкого круга гаджетов, для которых существуют кастомные ядра, поддерживающие как разгон, так и undervolting. В скором времени на keddr должны появиться аналогичные статьи-инструкции и о LG G4 и, возможно, о HTC One M9. А на сегодня это всё. До скорого :)
У меня PVS10. На GPE-ядре (Android 6.0) удалось добиться очень хорошего понижения вольтажа. Владельцы чипов PVS-10, не унывайте, мы можем понижать вольтаж до 100 мВ в ряде случаев, при этом работа устройства будет оставаться стабильной. Тут в статье указывалось, что максимум, на что мы можем рассчитывать – 50 мВ. К счастью, не всё так плохо :)
Теперь о результатах. Время автономной работы увеличилось. В целом, можно говорить о том, что смартфон стал заметно холоднее, но только на малых и средних нагрузках. На больших чип по-прежнему ощутимо греется и отдаёт в руку, это не очень приятно, особенно летом :)
Думаю, тем, у кого PVS-10 будет полезно узнать, какой вольтаж я нашёл экспериментальным путём.
300 МГц 630 мВ
422 МГц 640 мВ
652 МГц 652 мВ
729 МГц 670 мВ
883 МГц 681 мВ
960 МГц 695 мВ
1036 МГц 710 мВ
1190 МГц 720 мВ
1267 МГц 750 мВ
1497 МГц 793 мВ
1574 МГц 816 мВ
1728 МГц 830 мВ
1958 МГц 897 мВ
2265 МГц 930 мВ
2457 МГц 995 мВ
Выше 2457 МГц процессор разгонять не стал, так как нагрев в этом случае увеличивается на PVS10 чипах существенно. Надеюсь, кому-то помог, пробуйте :)
Андрей, спасибо Вам за статью! несколько вопросов:
1. Будет ли порт на LG g3 (d850)? Готов быть тестером даже сырых версий.
2. Можете написать что меняеться от параметра speed(?) pvs. в моем случае, увы, при speed3 – pvs5. Но при этом же, андервольт по всей шкале -80.
Спасибо за статью! Все сделал по инструкции, как раз на М8. Заработало! Реально бенчмарки показывают так же, как на скринах. Вы мне помогли выиграть спор с консультантом из магазина Кей, который говорит, что не прокатит. Автору респект!
А что именно в смартфоне греется во время использования 3g и GPS? Процессор или конкретно эти чипы?
Happiness, нагрев процессора при браузинге (в том числе и посредством 3G) или при использовании навигационного приложения будет присутствовать всегда. Потому как и то, и другое есть суть работа с соответствующим софтом и обработка данных. Governor, ответственный за управление режимами CPU, решает какую частоту врубить в том или иному случае.
Вольтажи же и нагрев модулей связи и навигации по сравнению с ядрами процессора будет второстепенным.
На моєму OnePlus One вдалося добитися тільки андервольтінгу -50 mV на всіх частотах, щоб телефон працював стабільно. При -75 mV при навантажені перезавантажується.
– прямая цитата из статьи. Ваш pvs 7 как раз соответствует ей.
Андрей Москалец, что-то я не совсем понял, то есть если у меня pvs3 то что я выставил в CPU Voltage global offset -85mV применилось только в теории, на практике понижение сработал на 10-15mV ?
nulled, нет. На практике может быть ещё веселее. На практике -85 у вас могло применяться только к минимальному и максимальному частотным режимам. И то ценой стабильной работы.
Не исключено конечно, что вам попался некий уникальный экземпляр, который при pvs3 действительно может стабильно работать при -85 мВ. Но это скорее лютое исключение.
Андрей Москалец, ну я в Kernel Adiutor глобально выставил всем -85mV (везде понизилось напряжение), потом запустил Antutu и Vellamo, правда не запускал Geekbench 3 (сегодня им ещё протестирую). Все тесты смарт прошел комфортно, без зависаний и каких либо эксцессов. За ночь смарт ни разу не перезагрузился, ну и в мои приложения все сохраняется и адекватно работает. Думаю повезло мне :) Теперь смарт дома греться только до 23 градусов в режиме покоя :)
nulled, в таком случае вам действительно очень повезло. Это скорее единичное исключение из правил. Поздравляю :)
Vitaliy OrlovАндрей Москалец, У меня speed3-pvs3-bin-v1 понизил до -85mV (стабильная работа), при -120mV сразу в ребут (судя с коментов на XDA на pvs4 можно понизить до -120mV)
nulled, при -85 ваш pvs будет ловить глюки. При чем безбожные. Пробуем пройти тест multicore из vellamo.
И не путаем pvs4 с pvs14 :)
А можно поподробнее про coolify? На рутованнам девайсе со стандартным ядром она дает толк? Какой у нее вообще принцып работы?
Лиzергин?, принцип работы описан в статье. Менеджмент процессов и задач. Относительно стокового ядра – очень сомневаюсь
После перезагрузки скидывает все частоты до 300. В чем может быть проблема? Криво встало ядро?
Булат, да. Если становилось без очистки кэшей, то это единственная причина. В обязательном порядке нужно переустановить и Kernel Adiutor
Андрей Москалец, ставил всё с 0. Прогу тоже переставлял не раз. Перешил ядро, буду искать решения. Попробую полностью переставить систему позже. Пока времени нет.
Булат, дело в том, что сталкивался уже именно с таким багом. Когда Kernel Adiutor принудительно(!) дропает Максимальную частоту до 300 МГц. Лечится полной “чистой”(!) переустановкой системы. И чистой переустановкой KA (чистим данные и кэш перед удалением). Помогает раз и навсегда.
Андрей Москалец, подтверждаю. Все сделал с нуля. Поставил прошивки с 0, после каждого шага делал вайп и все встало. Прирост в автономности 1,5 часа экрана подтверждаю! А можно например понизить максималку до 2,3 и оставить вольтажи из этой статьи? А что будет если удалить приложение KA? Настройки сохранятся или они меняются только при включении устройства?
Булат, вольтажи применяются только при включении устройства. Так что KA удалять нельзя. Да и не мешает он никому.
Частоту понизить до 2.26 стоковых, либо до 2.4. Но при этом лучше перепрошить все с нуля. То есть повторить процедуру полностью. В таком случае автономность ещё немного возрастёт. Но за счёт некоторого снижения производительности.
Андрей Москалец,
А разве не достаточно просто еще раз прошить ядро, указав в нем более низкую максимальную частоту?
Алексей, после того, как начиная с 5.0 Android перешёл с dalvik на ART, это чревато потенциальными багами. Потому, если не хотите в случае чего делать двойную работу, лучше перепрошейте с нуля. Дольше на пять минут. Но проблем в разы меньше.
А є така ж таблиця на який вольтажах може працювати процесор на OnePlus One?
p.s. у мене пише таке: qcom,speed3-pvs7-bin-v1 на OnePlus One
Vitaliy Orlov, читайте вот эту статью. Пробуйте. Там все достаточно детально расписано. http://forum.xda-developers.com/oneplus-one/general/info-cpu-binning-concept-overclocking-t2817105
Андрей Москалец, дякую, почитаю.
Андрей Москалец, в цій же статті в кінці поста є велика інструкція як відносно швидко тестити який вольтаж буде стабільний для різних частот. Зараз якраз цим займаюсь, якщо не кину це діло і доведу до кінця то відпишусь про свої стабільні значення вольтажу для частот на OnePlus One на моєму екземплярі. Поки здається перший стабільний результат для 300 MHz це 600 mV (стандартний на Boeffla Kernel був 775 mV). Кажу так бо виконав все по інструкції. Переходжу на наступну частоту =)
Сейчас попробуем. Думаю оно того стоит. А какой прирост в автономности? В %
Булат, от 15 до 30% в зависимости от задач и режимов работы
После выполнения всех инструкций телефон стал работать меньше а греться больше :D Пробовал 2 раза, ставил с нуля, со всеми вайпами. Даже на elementalX пробовал. Во всех случаях итог один – 3 часа экрана и нагрев. PVS – 15!!!
Простите, но вот этому, скриншотам бенчей и самому себе я верю больше :). Возможны 3 варианта:
1. вы делали что-то не то и не с теми компонентами
2. вам просто не повезло с экземпляром. Каково значение speed у вас в PVS-файле?
3. …
Ну я конечно не спец, но перепрошивками балуюсь ещё со времён htc wildfire, и я искренне не понимаю что можно сделать не так с этими компонентами :)
Значения PVS – qcom,speed1-pvs15-bin-v1
Перед каждой попыткой я перекачивал ядра и сверял по md5.
Пробовал и с разгоном, и без, и даже с андерклоком.
В любом случае я не нашёл толковой причины, видимо реально просто не повезло.
Пруфов и скринов бенчей не будет, так как давным давно откатился на сток сенс и все стало хорошо
В таком случае это с вероятностью 99% неудачный экземпляр. Благо, у большинства читателей в этой и более ранних статьях все с этим было в полном порядке. Сочувствую :(
Хорошая, заддротская статья.
Но, ядра cyanogen (ну, или ядро см12 на nexus4) андервольтинг не поддерживает, нету напряжений в kernel auditor. А это значит, что нужно ставить стороннее ядро, и при накатывании новой ночнушки повторять все по новой. Так?
Владимир Михайлович, да. Нужно ставит кастомное ядро с undervolt-ом под cm12. Их великое множество. Относительно ночнушек – очень не рекомендую наказывать каждую последующую ночнушку, если текущий сетап всем хорош. Обновляться раз в два месяца или квартал – вполне нормальная практика. При включении бекапа gp установленные приложения вместе с настройками восстанавливаются автоматически при выборе восстановления при первом запуске. На всякий случай можно раз и навсегда экспортировать настройки ka и импортировать файлик с ними при следующем сетапе.
Андрей Москалец, а есть еще варианты pvs увидеть? у меня тут /sys/module уже нет нужного, догадываюсь что будет другое название, но интуитивно не нашел.
Владимир Михайлович, должен быть. Скороее всего не включили в файловом менеджере отображение скрытых папок.
На всякий случай для nexus 4 (я правильно помню? :)) есть альтернативное решение:
http://www.jayceooi.com/how-fast-is-your-nexus-4-cpu/
Андрей Москалец, включил конечно скрытые, нету. С терминалом не прокатывает, я знал про этот метод, но просто ничего не выводят обе команды. root есть.
Владимир Михайлович, в таком случае могу посоветовать проводить undervolting методом научного тыка :). Не устанавливаем “применять при загрузке” до того момента, пока не находим оптимальную формулу вольтажей.
Андрей Москалец, я правильно розумію, що єдиний признак занизького вольтажу це перезагрузки смартфону або його засипання?
І можливо є якісь інструкції як швидко протестити чи підходить виставлений вольтаж? Чи тільки на практиці при повсякденному використанні в звичайному для себе режимі?
Vitaliy Orlov, в общих чертах всё верно. Но экспресс-проверкой может служить успешное прохождение смартфоном с установленным вольтажем бенчмарка multicore из пакета Vellamo. Это отличный показатель стабильности работы, существенно экономящий время.
Андрей Москалец, При определенных настройках андервольтинга тест Vellamo проходит, а в Antutu аппарат уже уходит в перезагрузку. Почему так происходит? На твоем смартфоне при описанных выше настройках андервольтинга тест Antutu проходит? Сколько показывает?
И еще, я прочитал на 4PDA следующее:
В каких конкретно случаях это надо делать?
Алексей, antutu принципиально не считаю показателем. Но да, тест проходит. 43368. Но в 80% случаев я знаю, что этот конкретный бэнчмарк начинает глючит при разгоне даже без undervolt-а. Это бок самого бэнча.
Относительно того, что ты читал на 4pda – это вообще никаким боком не касается приведённой инструкции. Ставим переключатели в положение “применять при загрузке” в kernel adiutor после того, как определили рабочие значеря вольтажей. И забываем об этом вопросе
Андрей Москалец, поделюсь резалтами: прошил одно из самых популярных ядер, понизил вольтажи на -115мВ, на один шаг опустил макс напр. откл. дисплея, поставил coolify. По результатам тестов, стало даже на пару десятков баллов больше, температура с 36 стала 33, но не во всех тестах, в некоторых так и осталась 36-37. По факту мой нексус превратился в какойто тормозной престижио. Отклик тачскрина даже как будто на ручник поставили, приложения стали запускаться в разы дольше, короче все стало очень плохо)
Я уже не говорю о классических приколах сторонних ядер: сутра не мог принять звонок так все тормозило дичайше. По энергопотреблению не успел заметить, так как откатился обратно на родное ядро, и как глоток свежего воздуха. Видимо термопаста с медью моц таки вариант)
Владимир Михайлович, очень странный у вас подход. В статье же русским по белому написано, что -100 и далее – удел высоких pvs. В вашем случае логично ограничиться -50 или около того. Вы же провели на скорую руку один единственный эксперимент с самым серьёзным понижением. И при неудаче сделали вывод, что вам не подходит сам способ :). Где здесь логика? :)))
Статья отличная.
P.S. Android… =)
Надо было назвать статью “Тушим печку, разжигаем срачик”