Активация режима максимальной производительности через cmd
Цитата: Удаленный пользователь от 06.01.2021, 08:19Всем привет! Немного углубился в эти режимы производительности и решил сделать Себе батник, который сразу все настроит, как Мне надо. В данный момент он выглядит так:
[spoiler]
:: Разблокировка схем электропитания
::Возврат схем электропитания к заводским
powercfg -restoredefaultschemes
::Экономия энергии
powercfg.exe -duplicatescheme a1841308-3541-4fab-bc81-f71556f20b4a
::Сбалансированная
::powercfg.exe -duplicatescheme 381b4222-f694-41f0-9685-ff5bb260df2e
::Высокая производительность
powercfg.exe -duplicatescheme 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
::Максимальная производительность
powercfg.exe -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
:: Включение режима максимальной производительности
powercfg -s e9a42b02-d5df-448d-aa00-03f14749eb61
:: Отключение спящего режима дисков
powercfg /x -disk-timeout-ac 0
powercfg /x -disk-timeout-dc 0
:: Отключение выключения экрана при питании от сети
powercfg /x -monitor-timeout-ac 0
:: Отключение спящего режима при питании от сети
powercfg /x -standby-timeout-ac 0
:: Отключение файла гибернации
powercfg -h off[/spoiler]И вот проблема в том, что Windows отказывается принимать команду на включение режима максимальной производительности. При этом, если Я впишу туда GUID (кучу букв) любого другого режима, то он включится. Если кто знает, поделитесь, пожалуйста. Что это за магия такая, как блин Win 10 Tweaker это делает?
Всем привет! Немного углубился в эти режимы производительности и решил сделать Себе батник, который сразу все настроит, как Мне надо. В данный момент он выглядит так:
Скопировано:: Разблокировка схем электропитанияСкопировано::Возврат схем электропитания к заводскимСкопированоpowercfg -restoredefaultschemesСкопировано::Экономия энергииСкопированоpowercfg.exe -duplicatescheme a1841308-3541-4fab-bc81-f71556f20b4aСкопировано::Сбалансированная Скопировано::powercfg.exe -duplicatescheme 381b4222-f694-41f0-9685-ff5bb260df2eСкопировано::Высокая производительностьСкопированоpowercfg.exe -duplicatescheme 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635cСкопировано::Максимальная производительностьСкопированоpowercfg.exe -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
Скопировано:: Включение режима максимальной производительности
Скопированоpowercfg -s e9a42b02-d5df-448d-aa00-03f14749eb61
Скопировано:: Отключение спящего режима дисков
Скопированоpowercfg /x -disk-timeout-ac 0
Скопированоpowercfg /x -disk-timeout-dc 0
Скопировано:: Отключение выключения экрана при питании от сети
Скопированоpowercfg /x -monitor-timeout-ac 0
Скопировано:: Отключение спящего режима при питании от сети
Скопированоpowercfg /x -standby-timeout-ac 0
Скопировано:: Отключение файла гибернации
Скопированоpowercfg -h off
И вот проблема в том, что Windows отказывается принимать команду на включение режима максимальной производительности. При этом, если Я впишу туда GUID (кучу букв) любого другого режима, то он включится. Если кто знает, поделитесь, пожалуйста. Что это за магия такая, как блин Win 10 Tweaker это делает?
Цитата: Удаленный пользователь от 06.01.2021, 10:08Миша, Добрый день. Скажем так, в сети ты решение вряд ли найдешь, да и здесь думаю не подскажут. Это труды разработчика, который перелопатил горку кода, чтобы сделать это.
Миша, Добрый день. Скажем так, в сети ты решение вряд ли найдешь, да и здесь думаю не подскажут. Это труды разработчика, который перелопатил горку кода, чтобы сделать это.
Цитата: Удаленный пользователь от 06.01.2021, 10:29Получается, одной командной его так просто не включишь...
Спасибо
Получается, одной командной его так просто не включишь...
Спасибо
Цитата: Удаленный пользователь от 06.01.2021, 13:05Привет, Миша!
Для быстрой настройки можно экспортировать настроенную схему питания:
powercfg /export "D:\MaxPerfomance.pow" e9a42b02-d5df-448d-aa00-03f14749eb61
гдеD:\MaxPerfomance.pow- полный путь к файлу, куда будет экспортирована схема питания,e9a42b02-d5df-448d-aa00-03f14749eb61- GUIDПотом можно импортировать с указанием нового GUID:
powercfg /import "D:\MaxPerfomance.pow" 99999999-9999-9999-9999-999999999999И активировать:
powercfg /s 99999999-9999-9999-9999-999999999999
Привет, Миша!
Для быстрой настройки можно экспортировать настроенную схему питания:
Скопированоpowercfg /export "D:\MaxPerfomance.pow" e9a42b02-d5df-448d-aa00-03f14749eb61
где СкопированоD:\MaxPerfomance.pow - полный путь к файлу, куда будет экспортирована схема питания, Скопированоe9a42b02-d5df-448d-aa00-03f14749eb61 - GUID
Потом можно импортировать с указанием нового GUID:
Скопированоpowercfg /import "D:\MaxPerfomance.pow" 99999999-9999-9999-9999-999999999999
И активировать:
Скопированоpowercfg /s 99999999-9999-9999-9999-999999999999
Цитата: admin от 06.01.2021, 13:54Всем привет 🖐
Смотрю опять тут батнички =)))Цитата: Миша от 06.01.2021, 08:19Если кто знает, поделитесь, пожалуйста.
В видео Я сказал, правда слишком быстро как-то и вскользь – это умеет только Win 10 Tweaker, потому что в инете можно найти только официальную команду от Microsoft, а вот как детектить имена схем на разных компах, да ещё и на разных языках... никто этого не исследует, либо исследует и бросает.
Цитата: Миша от 06.01.2021, 08:19Что это за магия такая, как блин Win 10 Tweaker это делает?
[spoiler]
- Сначала Я проверяю, Windows 10 ли это.
- Потом проверяю имеет ли данная Windows 10 в принципе возможность включать схему Максимальной производительности.
Исследования привели Меня в эту ветку:
key = HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\e9a42b02-d5df-448d-aa00-03f14749eb61
Если ветка есть и у неё есть параметрFriendlyName, отлично:
if (key?.GetValue("FriendlyName") != null)- Да, эта десятка и там есть
FriendlyName, смотрим, что справа.
А справа@%SystemRoot%\system32\powrprof.dll,-19,Ultimate Performance
То, что нужно. Схема Максимальной производительности заложена в Windows 10.
Потом Я получаю читабельное имя этой схемы "Максимальной производительности" на любой локализации Windows из dllpowrprof.dll,-19, т.к. FriendlyName ссылается на эту dll. Записываю имя схемы из dll в переменнуюvar maxname = powrprof.dll,-19
В русской – этоМаксимальная производительность, в английскойUltimate Performanceи т.д.- Далее опрашиваю схемы питания, чтобы узнать, не подключал ли сам юзер её или сборщик.
Может быть она уже есть, просто не активирована, поэтому:
using (ManagementObjectSearcher mos = new ManagementObjectSearcher(@"root\cimv2\power", $"SELECT * FROM Win32_PowerPlan"))
{
var schemes = mos.Get().Cast<ManagementObject>();
if (schemes.All(x => x.GetPropertyValue("ElementName").ToString() != maxname))
{
Схемы нет, можно применять:powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
}- А вот если схема есть, то нужно проверить, включена она или нет.
И от этого уже зависит, каким цветом будет выглядеть применённость и вообще кнопки.
else
{
Именно таким образом Я получаю уникальный GUID схемы на пользователе:
string GUID(bool active)
{
string guid = schemes.FirstOrDefault(x => x.GetPropertyValue("ElementName").ToString() == maxname &&
(bool)x.GetPropertyValue("IsActive") == active).GetPropertyValue("InstanceID").ToString();
guid = guid.Substring(guid.IndexOf("{") + 1);
return guid.Remove(guid.Length - 1);
}
bool IsActive(bool active) => schemes.Any(x => x.GetPropertyValue("ElementName").ToString() == maxname && (bool)x.GetPropertyValue("IsActive") == active);
if (IsActive(false))
{
guid2 = GUID(false);
Применить схему по её уникальному имени, полученному из GUID.
На всех компах GUID отличается и генерируется уникально, для этого Я и создал string GUID();
}
else if (IsActive(true))
{
guid2 = GUID(true);
Удалить схему по её уникальному имени, полученному из GUID.
На всех компах GUID отличается и генерируется уникально, для этого Я и создал string GUID();
}[/spoiler]
Всем привет 🖐
Смотрю опять тут батнички =)))
Цитата: Миша от 06.01.2021, 08:19Если кто знает, поделитесь, пожалуйста.
В видео Я сказал, правда слишком быстро как-то и вскользь – это умеет только Win 10 Tweaker, потому что в инете можно найти только официальную команду от Microsoft, а вот как детектить имена схем на разных компах, да ещё и на разных языках... никто этого не исследует, либо исследует и бросает.
Цитата: Миша от 06.01.2021, 08:19Что это за магия такая, как блин Win 10 Tweaker это делает?
- Сначала Я проверяю, Windows 10 ли это.
- Потом проверяю имеет ли данная Windows 10 в принципе возможность включать схему Максимальной производительности.
Исследования привели Меня в эту ветку:
Скопированоkey = HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\e9a42b02-d5df-448d-aa00-03f14749eb61
Если ветка есть и у неё есть параметрСкопированоFriendlyName, отлично:
Скопированоif (key?.GetValue("FriendlyName") != null) - Да, эта десятка и там есть
СкопированоFriendlyName, смотрим, что справа.
А справаСкопировано@%SystemRoot%\system32\powrprof.dll,-19,Ultimate Performance
То, что нужно. Схема Максимальной производительности заложена в Windows 10.
Потом Я получаю читабельное имя этой схемы "Максимальной производительности" на любой локализации Windows из dllСкопированоpowrprof.dll,-19, т.к. FriendlyName ссылается на эту dll. Записываю имя схемы из dll в переменнуюСкопированоvar maxname = powrprof.dll,-19
В русской – этоСкопированоМаксимальная производительность, в английскойСкопированоUltimate Performanceи т.д. - Далее опрашиваю схемы питания, чтобы узнать, не подключал ли сам юзер её или сборщик.
Может быть она уже есть, просто не активирована, поэтому:
Скопированоusing (ManagementObjectSearcher mos = new ManagementObjectSearcher(@"root\cimv2\power", $"SELECT * FROM Win32_PowerPlan"))
Скопировано{
Скопировано var schemes = mos.Get().Cast<ManagementObject>();
Скопировано if (schemes.All(x => x.GetPropertyValue("ElementName").ToString() != maxname))
Скопировано {
Схемы нет, можно применять:Скопированоpowercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
Скопировано } - А вот если схема есть, то нужно проверить, включена она или нет.
И от этого уже зависит, каким цветом будет выглядеть применённость и вообще кнопки.
Скопированоelse
Скопировано{
Именно таким образом Я получаю уникальный GUID схемы на пользователе:
Скопировано string GUID(bool active)
Скопировано {
Скопировано string guid = schemes.FirstOrDefault(x => x.GetPropertyValue("ElementName").ToString() == maxname &&
Скопировано (bool)x.GetPropertyValue("IsActive") == active).GetPropertyValue("InstanceID").ToString();
Скопировано guid = guid.Substring(guid.IndexOf("{") + 1);
Скопировано return guid.Remove(guid.Length - 1);
Скопировано}
Скопированоbool IsActive(bool active) => schemes.Any(x => x.GetPropertyValue("ElementName").ToString() == maxname && (bool)x.GetPropertyValue("IsActive") == active);
Скопированоif (IsActive(false))
Скопировано{
Скопировано guid2 = GUID(false);
Скопировано Применить схему по её уникальному имени, полученному из GUID.
На всех компах GUID отличается и генерируется уникально, для этого Я и создал string GUID();
Скопировано}
Скопированоelse if (IsActive(true))
Скопировано{
Скопировано guid2 = GUID(true);
Скопировано Удалить схему по её уникальному имени, полученному из GUID.
На всех компах GUID отличается и генерируется уникально, для этого Я и создал string GUID();
Скопировано}
Цитата: Удаленный пользователь от 06.01.2021, 17:35я себе сделал на ноуте по этому мануалу для интела
[spoiler]
https://club.dns-shop.ru/blog/t-93-programmnoe-obespechenie/37712-uskoryaem-ryzen-v-windows-7-cherez-plan-elektropitaniya-ne-mojem/[/spoiler]
вроде как шустрее стало немножко ))
что скажите по этим настройкам ?
я себе сделал на ноуте по этому мануалу для интела
вроде как шустрее стало немножко ))
что скажите по этим настройкам ?
Цитата: Удаленный пользователь от 07.01.2021, 18:03Вася, действительно, можно и так попробовать, но все-таки хочется максимальной чистоты, чтобы даже схем питания Своих не было, только стандартные
Хачатур, спасибо огромное! Буду ковыряться)
Вася, действительно, можно и так попробовать, но все-таки хочется максимальной чистоты, чтобы даже схем питания Своих не было, только стандартные
Хачатур, спасибо огромное! Буду ковыряться)
Цитата: Удаленный пользователь от 16.01.2021, 22:29Приветствую всех!
я вот, кстати, так и не понял чем эта схема отличается от собственноручно настроенной? Те же самые параметры, что и в любой другой.
Приветствую всех!
я вот, кстати, так и не понял чем эта схема отличается от собственноручно настроенной? Те же самые параметры, что и в любой другой.
Цитата: Удаленный пользователь от 17.01.2021, 03:24👋Добрый
Тем, что тыкнул и готово). Не надо настраивать вручную.
👋Добрый
Тем, что тыкнул и готово). Не надо настраивать вручную.
Цитата: Удаленный пользователь от 17.01.2021, 03:39Привет. 👋
Я использую программу Quick CPU для настройки и мониторинга показателей, значений датчиков и управление схемами питания. Одна из вышеупомянутых функций позволяет настраивать схемы, клонировать, переименовывать, активировать/деактивировать, делать бекапы, сравнивать схемы между собой и т.д.
Англоязычная.Рекомендую только продвинутым пользователям. Программа содержит тонкие и критические настройки оборудования и дабы всякие "раки"🙃 не нанесли вред своему компу - очень не рекомендую некомпетентным пользователям, особенно не владеющим техническим английским.
Привет. 👋
Я использую программу Quick CPU для настройки и мониторинга показателей, значений датчиков и управление схемами питания. Одна из вышеупомянутых функций позволяет настраивать схемы, клонировать, переименовывать, активировать/деактивировать, делать бекапы, сравнивать схемы между собой и т.д.
Англоязычная.
Рекомендую только продвинутым пользователям. Программа содержит тонкие и критические настройки оборудования и дабы всякие "раки"🙃 не нанесли вред своему компу - очень не рекомендую некомпетентным пользователям, особенно не владеющим техническим английским.