Forum

Пожалуйста or Регистрация для создания сообщений и тем.

Активация режима максимальной производительности через cmd

Page 1 of 2Next

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

Спойлер
Скопировано:: Разблокировка схем электропитания
Скопировано::Возврат схем электропитания к заводским
Скопировано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 это делает?

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

admin отреагировал на эту запись.
admin

Получается, одной командной его так просто не включишь...
Спасибо

Привет, Миша!

Для быстрой настройки можно экспортировать настроенную схему питания:
Скопировано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

Всем привет 🖐
Смотрю опять тут батнички =)))

Цитата: Миша от 06.01.2021, 08:19

Если кто знает, поделитесь, пожалуйста.

В видео Я сказал, правда слишком быстро как-то и вскользь – это умеет только Win 10 Tweaker, потому что в инете можно найти только официальную команду от Microsoft, а вот как детектить имена схем на разных компах, да ещё и на разных языках... никто этого не исследует, либо исследует и бросает.

Цитата: Миша от 06.01.2021, 08:19

Что это за магия такая, как блин Win 10 Tweaker это делает?

Спойлер

  1. Сначала Я проверяю, Windows 10 ли это.
  2. Потом проверяю имеет ли данная Windows 10 в принципе возможность включать схему Максимальной производительности.
    Исследования привели Меня в эту ветку:
    Скопированоkey = HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\e9a42b02-d5df-448d-aa00-03f14749eb61
    Если ветка есть и у неё есть параметр СкопированоFriendlyName, отлично:
    Скопированоif (key?.GetValue("FriendlyName") != null)
  3. Да, эта десятка и там есть Скопировано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 и т.д.
  4. Далее опрашиваю схемы питания, чтобы узнать, не подключал ли сам юзер её или сборщик.
    Может быть она уже есть, просто не активирована, поэтому:
    Скопировано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
    Скопировано    }
  5. А вот если схема есть, то нужно проверить, включена она или нет.
    И от этого уже зависит, каким цветом будет выглядеть применённость и вообще кнопки.
    Скопировано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();

    Скопировано}

Удаленный пользователь, Удаленный пользователь и ещё 2 отреагировали на эту запись.
Удаленный пользовательУдаленный пользовательУдаленный пользовательУдаленный пользователь

я себе сделал на ноуте по этому мануалу для интела


вроде как шустрее стало немножко ))
что скажите по этим настройкам ?

Вася, действительно, можно и так попробовать, но все-таки хочется максимальной чистоты, чтобы даже схем питания Своих не было, только стандартные

Хачатур, спасибо огромное! Буду ковыряться)

Приветствую всех!

я вот, кстати, так и не понял чем эта схема отличается от собственноручно настроенной? Те же самые параметры, что и в любой другой.

👋Добрый
Тем, что тыкнул и готово). Не надо настраивать вручную.

Привет. 👋

Я использую программу Quick CPU для настройки и мониторинга показателей, значений датчиков и управление схемами питания. Одна из вышеупомянутых функций позволяет настраивать схемы, клонировать, переименовывать, активировать/деактивировать, делать бекапы, сравнивать схемы между собой и т.д.
Англоязычная.

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

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь
Page 1 of 2Next