Comments 52
Для меня например использование настроек для нескольких способов питания в одном плане контр-интуитивно. Было бы логичней КМК сделать каждый "план" просто пачкой настроек. И набор переключателей о событиям — на подключение шнурка питания, на работу от батареи, на определённый уровень заряда. Понятно, что какая система есть — такая есть.
Кстати, некоторые вендоры ноутбуков примерно так и делают — из специальной утилитки переключают планы. И можно настроить, в каком режиме питания какой план использовать.
Учитывая, что Android работает на обычном ядре Linux, а приложения Android потребляют немного больше ресурсов, чем Linux-приложения, думаю, вариант с Linux просто обязан быть экономнее :)
На практике в сравнении Windows и Linux «из коробки» первая обычно экономнее (хотя случаи разные бывают), но Linux позволяет настроить систему тоньше, так что прикладыванием рук добиться с помощью последнего можно больше.
Технологии SSD больше 5 лет, объемы по 256-512 гигабайт для SSD давно не очень дорогие — за 200 баксов можно взять модели на 500gb.
Полный дистрибутив линукс у меня редко больше полтора гигабайта — значит 450+ гигабайт — этого хватит даже для кино в перелёте.
С виндой, конечно всё не так хорошо, из 100 гигабайтного раздела Win10 + Office 16 свободно около 40, но это ноут для игр и все игрушки на d:\
Что мешает заменить диск?
Комфорт тоже стоит денег. А SSD корнями к Атому не прирастёт — можно в следующий ноут воткнуть будет.
У меня у самого ноут на PentiumM — и установка ссд его реально подстегнула. Не, летать не стал, конечно, но пользоваться им стало гораздо менее грустно. Диск — что-то дешевое на 64 гига.
Разница исчезающе призрачна. Насколько мне позволяют судить мои познания, причина в невозможности воткнуть больше 2Гб оперативы и собственно многие программы в это и упираются. В частности Firefox одинаково отвратно работал на обеих конфигурациях.
В общем, по моему опыту подобных переделок, разница чаще всего определённо есть, но заметна далеко не всегда.
ССД даёт прирост на файловых операциях. Касательно файрфокса — это запуск и работа с кэшом на диске. То, как себя ведёт уже запущенный файрфокс — жрёт память и тормозит — уже не исправить никаким ссд.
Я сейчас palemoon щупаю. Вроде как чуть полегче, но вот в плане плагинов всё очень грустно.
Чисто так, для себя, пытаюсь понять кейс использования андроида на чём-то большем, чем планшет и телефон — зачем?
Есть нормальные и вполне легковесные дистрибутивы, вроде того же Alpine, для тех, кому приелись убунты с центосями и прочими гентами, зачем андроид?
При этом за приличный энергоэффективный SSD вы заплатите немало так денег.
И значительно повысите комфорт от использования ноутбука
С таким же успехом можно рекомендовать работать всегда с питанием от сети, понизить яркость экрана (кстати, гораздо больше энергии сэкономит), отключить Wi-Fi и т.п.
Нет, эти действия, наоборот, снижают комфорт.
(по крайней мере несколько лет назад так было на Makbook'ах)
Гораздо более интересный вопрос — кто является основным потребителем батареи.
И что-то мне подсказывает, что аппаратными решениями типа управления яркостью экрана, частотой процессора здесь не отделаться. Это уменьшает комфорт от использования ноутбука.
Я считаю, что режимы экономии энергии должны распространяться также и на софт. Например, браузеры могут рендерить сайты с пониженной частотой кадров; IDE — урезать функции всяких там ассистов до базовых; обновления не должны проверяться; операционная система должна иметь возможность отключать модули памяти и т.д.
Как обладатель старого ноутбука с полуживой батареей я сильно обеспокоен продлением времени его использования без питания.
Что только не сделаешь, лишь бы на Али не покупать батарею за тыщу.))
rem (Установка активной схемы питания "Высокая производительность")
POWERCFG /SETACTIVE 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
rem (значение 0 означает никогда не отключать дисплей при питании от сети (ac) и от батареи (dc))
POWERCFG /CHANGE -monitor-timeout-dc 0
POWERCFG /CHANGE -monitor-timeout-ac 0
rem (значение 0 означает никогда не отключать HDD при питании от сети (ac) и от батареи (dc))
POWERCFG /CHANGE -disk-timeout-dc 0
POWERCFG /CHANGE -disk-timeout-ac 0
посмотрите на али, там довольно много батарей даже для старых моделей, в тч «повышенной емкости»
вес ноута поднимется конечно, но далеко не всегда это настолько критично…
изредка растут еще и габариты, но то же далеко не всегда это хоть сколько-то критично для использования…
Всего то написал программу в 10 строчек которая автоматизирует рутинное действие и даже никаких подробностей настройки планов питания.
Ну во первых все планы питания можно сделать доступными в трее по клику правой кнопкой все планы питания, с помощью вызова того же powercfg с помощью такого reg файла. Кстати редактируя тот же раздел реестра туда можно вообще вызов любых прог и команд добавить.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\SysTray\BattMeter\ContextMenu]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\SysTray\BattMeter\ContextMenu\1]
"ItemName"="Производительность"
"Application"="%SystemRoot%\\system32\\powercfg.exe"
"Parameters"=hex(2):2d,00,73,00,20,00,38,00,63,00,35,00,65,00,37,00,66,00,64,\
00,61,00,2d,00,65,00,38,00,62,00,66,00,2d,00,34,00,61,00,39,00,36,00,2d,00,\
39,00,61,00,38,00,35,00,2d,00,61,00,36,00,65,00,32,00,33,00,61,00,38,00,63,\
00,36,00,33,00,35,00,63,00,00,00
"IconID"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\SysTray\BattMeter\ContextMenu\2]
"ItemName"=hex(2):21,04,31,04,30,04,3b,04,30,04,3d,04,41,04,38,04,40,04,3e,04,\
32,04,30,04,3d,04,3d,04,4b,04,39,04,00,00
"Application"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
70,00,6f,00,77,00,65,00,72,00,63,00,66,00,67,00,2e,00,65,00,78,00,65,00,00,\
00
"Parameters"=hex(2):2d,00,73,00,20,00,33,00,38,00,31,00,62,00,34,00,32,00,32,\
00,32,00,2d,00,66,00,36,00,39,00,34,00,2d,00,34,00,31,00,66,00,30,00,2d,00,\
39,00,36,00,38,00,35,00,2d,00,66,00,66,00,35,00,62,00,62,00,32,00,36,00,30,\
00,64,00,66,00,32,00,65,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\SysTray\BattMeter\ContextMenu\3]
"ItemName"=hex(2):2d,04,3a,04,3e,04,3d,04,3e,04,3c,04,38,04,4f,04,00,00
"Application"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,\
00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\
70,00,6f,00,77,00,65,00,72,00,63,00,66,00,67,00,2e,00,65,00,78,00,65,00,00,\
00
"Parameters"=hex(2):2d,00,73,00,20,00,61,00,31,00,38,00,34,00,31,00,33,00,30,\
00,38,00,2d,00,33,00,35,00,34,00,31,00,2d,00,34,00,66,00,61,00,62,00,2d,00,\
62,00,63,00,38,00,31,00,2d,00,66,00,37,00,31,00,35,00,35,00,36,00,66,00,32,\
00,30,00,62,00,34,00,61,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\SysTray\BattMeter\ContextMenu\4]
"ItemName"=hex(2):00,00
"Application"=hex(2):00,00
"Parameters"=hex(2):00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\SysTray\BattMeter\ContextMenu\5]
"ItemName"=hex(2):00,00
"Application"=hex(2):00,00
"Parameters"=hex(2):00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Applets\SysTray\BattMeter\ContextMenu\6]
"ItemName"=hex(2):00,00
"Application"=hex(2):00,00
"Parameters"=hex(2):00,00
Вот вторых ничего не написано про яркость, а от яркости больше всего зависит время работы ноутбука от батареи.
В третьих ничего не написано про множители CPU и как их можно выставить (у AMD обычно 50, 80 и 100%).
В четвёртых у видеокарт тоже есть режимы энергосбережения, и про них тоже ничего не написано, хотя там есть что разобрать.
Даже не дано совета банально поуменьшать время работы подсветки и рассказать про её притемнение.
В общем в статье собственно о том как существенно продлить время работы ноутбука от батареи толком ничего и не сказано, просто прога для переключения режима, а стандартные настройки режимов совсем не оптимальны.
#!/bin/bash
clear
echo ""
while true
do
clear
echo "*******************************************"
echo "************APU Governor Mode**************"
echo "*******************************************"
echo "** 1. Set APU ondemand (default) **"
echo "** 2. Set APU performance **"
echo "** 3. Set APU conservative **"
echo "** 4. Set APU powersave **"
echo "** 0. Current state **"
echo "*******************************************"
echo "**************Select option****************"
echo "*******************************************"
echo "** 5. Stop Services **"
echo "*******************************************"
echo "** l. Laptop Mode Tools **"
echo "*******************************************"
echo ""
read n
case $n in
1)clear
echo "Ondemand mode"
cpufreq-set -g ondemand -c0
cpufreq-set -g ondemand -c1
cpufreq-info -f -m -c0
cpufreq-info -f -m -c1
echo balanced > /sys/class/drm/card0/device/power_dpm_state
echo auto > /sys/class/drm/card0/device/power_dpm_force_performance_level
cat /sys/class/drm/card0/device/power_dpm_state
cat /sys/class/drm/card0/device/power_dpm_force_performance_level
sleep 2;;
2)clear
echo "Performance mode"
cpufreq-set -g performance -c0
cpufreq-set -g performance -c1
cpufreq-info -f -m -c0
cpufreq-info -f -m -c1
echo performance > /sys/class/drm/card0/device/power_dpm_state
echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level
cat /sys/class/drm/card0/device/power_dpm_state
cat /sys/class/drm/card0/device/power_dpm_force_performance_level
sleep 2;;
3)clear
echo "Conservative mode"
cpufreq-set -g conservative -c0
cpufreq-set -g conservative -c1
cpufreq-info -f -m -c0
cpufreq-info -f -m -c1
echo battery > /sys/class/drm/card0/device/power_dpm_state
echo auto > /sys/class/drm/card0/device/power_dpm_force_performance_level
cat /sys/class/drm/card0/device/power_dpm_state
cat /sys/class/drm/card0/device/power_dpm_force_performance_level
sleep 2;;
4)clear
echo "Powersave mode (850mhz)"
cpufreq-set -g userspace -c0
cpufreq-set -g userspace -c1
cpufreq-set -f 850 MHz -c0
cpufreq-set -f 850 MHz -c1
cpufreq-info -f -m -c0
cpufreq-info -f -m -c1
# echo 0>/sys/class/thermal/cooling_device0/cur_state
# echo 0>/sys/class/thermal/cooling_device1/cur_state
echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
echo battery > /sys/class/drm/card0/device/power_dpm_state
cat /sys/class/drm/card0/device/power_dpm_state
cat /sys/class/drm/card0/device/power_dpm_force_performance_level
sleep 2;;
5)clear
echo "Stopping Tor"
service tor stop
echo "Stopping I2P"
service i2p stop
echo "Stopping BTSync"
service btsync stop
echo "Stopping MetaSploit"
service metasploit stop
echo "Disabling Proxy"
# gsettings set org.gnome.system.proxy mode 'none'
sleep 2;;
l)clear
lmt-config-gui
sleep 2;;
0)clear
echo Core 0 $(cpufreq-info -f -m -c0)
echo Core 1 $(cpufreq-info -f -m -c1)
echo DPM State $(cat /sys/class/drm/card0/device/power_dpm_state)
echo DPM $(cat /sys/class/drm/card0/device/power_dpm_force_performance_level)
sleep 5;;
*)clear
echo "Invalid option"
echo ""
read -p "Press any key to return to script";;
esac
sleep 1
done
но в целом всё сводится к экспериментам и тонкой настройке планов питания, в каких направлениях копать я написал выше, но тут от конкретного устройства многое зависит.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery ("Select * from Win32_PowerManagementEvent")
Do
Set strLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo "Attention - " & strLatestEvent.EventType
Set objWMIService1 = GetObject("winmgmts:\\" & strComputer & "\root\wmi")
Set colItems = objWMIService1.ExecQuery("Select * From BatteryStatus Where Voltage > 0")
For Each objItem in colItems
Wscript.Echo "Battery: " & objItem.InstanceName
Wscript.Echo "On AC Power: " & objItem.PowerOnline
Wscript.Echo "Battery is Discharging: " & objItem.Discharging
Wscript.Echo "Battery is Charging: " & objItem.Charging
Wscript.Echo "Remaining capacity: " & objItem.RemainingCapacity
Next
Wscript.Echo
Loop
Пример сохранить в текстовом файле с расширением .vbs, запускать из cmd.exe командой:
cscript power.vbs
Отслеживает изменение состояния питания и выводит в консоль текущее состояние. Такой код легко переписывается под любые нужды, после отладки запускать его в консоли cmd не нужно (чтобы не порождать лишние окна).
Агрессивная экономия энергии при работе от батареи на Windows