Сценарій Windows PowerPlan Switcher для форуму Nvidia ComputerBase
Оглушення
Капітан
Я написав сценарій, який автоматично змінює план живлення Windows залежно від завантаження графічного процесора Nvidia та стану P (Сумісний лише з відеокартами Nvidia). Тож я поєдную «збалансований» план енергозбереження для неігрових операцій з «високоефективним» енергозберігаючим планом під час завантаження графічної карти, тому я граю в ігри.

Як тільки відеокарта змінюється на P0 (Performance State) і використовує більше 25% графічного процесора: висока продуктивність
Поки відеокарта перебуває в енергозберігаючому режимі або використовує менше 25% графічного процесора: збалансовано
Усі параметри можна вільно налаштовувати в блоці ## To Fill ##
Особливо в іграх, процесор має дуже коливальне навантаження, так що при збалансованому плані економії енергії в ліміті графічного процесора можуть виникати значні затримки та стрибки, оскільки ядра процесора сповільнюються, коли навантаження низьке, а потім доведеться знову тактовувати, коли є пікове навантаження. Залежно від гри, ефекти відсутні (Квантовий розрив) або надзвичайно руйнівні (Overwatch або Nioh).
- Сценарій не викликає значного навантаження
- Під час перегляду веб-сторінок енергія економиться, а під час ігор затримки зводяться до мінімуму
- Перемикання відбувається автоматично, і параметри можна налаштувати в сценарії
1: Скопіюйте код сценарію в текстовий файл на своєму комп’ютері та перейменуйте його з .txt на .ps1 (у моєму прикладі C: \ Install \ Scripts \ Nvidia_PowerPlanSwitcher \ Nvidia_PowerPlanSwitcher.ps1)
2: Відкриває планувальник завдань (Планувальник завдань на англ.) Та переходить до "Створити нове завдання". Тепер стежте за малюнками.
Після цих налаштувань ви можете зберегти завдання за допомогою ОК і вам потрібно буде лише ввести свій пароль.
З наступного запуску Windows сценарій запускається із затримкою на 1 хвилину та перевіряє завантаження графічного процесора кожні 10 секунд, щоб потім встановити план живлення Windows відповідно. Потім сценарій виконується у диспетчері завдань як "powershell.exe". Отже, поки я пишу ці рядки тут, у Edge, збалансований енергетичний план активний, але як тільки я починаю гру, через кілька секунд енергетичний план високої продуктивності переходить на.
Тестується під Windows 10 з GTX 1080 та стандартним драйвером Nvidia без Geforce Experience.
Вирішення проблем
Можливо, що ExecutionPolicy потрібно встановити на Unrestricted, щоб дозволити виконання сценаріїв. З користувачем @Pizza! таким чином сценарій міг бути успішно використаний.
1: Запустіть Powershell від імені адміністратора
2: Введіть наступний рядок у відкриту PowerShell
тупий123
Лейтенант Командир
комп'ютер
Євро є сильним; але сильніші ціни
Оглушення
Капітан
Курсант 4 курсу
Раніше я використовував для цього NVidia Inspector з функцією Multi Display Power Saver:
Але це було кілька років тому, я не знаю, чи все ще працює так добре, як тоді.
Оглушення
Капітан
тупий123
Лейтенант Командир
комп'ютер
Євро є сильним; але сильніші ціни
Оглушення
Капітан
[Оновлення]
Я мінімально змінив сценарій:
Наразі сценарій активував бажаний план живлення кожного разу, коли він виконувався, залежно від завантаження графічного процесора, навіть якщо він вже був активований. Зараз я інтегрував запит, який спочатку читає поточний план енергозбереження, і лише якщо бажаний план енергозбереження ще не активний, він перемикається.
Раніше: виявлено використання 3D: Активуйте GamingPowerPlan
Нове: виявлено 3D-навантаження: активуйте GamingPowerPlan, якщо в даний час активний інший PowerPlan. Якщо GamingPowerPlan вже активний, нічого не робіть
Крім того, я створив "полегшений варіант" без фільтра для PState, якщо комусь цей фільтр не потрібен і вважає за краще економити кілька кілограм обчислювального часу.
Продуктивність споживання сценарію
Я провів перевірку продуктивності для варіанту без P-стану і дав циклу працювати кожні 100 мс, тобто 10 разів на секунду, а не раз на х секунд (я б рекомендував 10-60). Все це протягом однієї хвилини з постійним вимиканням і ввімкненням тесту рендеринга GPU-Z, щоб генерувати навантаження GPU і генерувати зміну плану енергозбереження.
Початок сценарію має рівно 484 мс Час обчислень, необхідний ядру (Powershell автоматично завантажує відносно велику кількість модулів при запуску), а потім протягом приблизно 600 перевірок (10 в секунду протягом 1 хвилини) час обчислень збільшився з 484 мс (старт) до 578 мс (старт + 600 перевірок) Отже, 600 чеків мають загалом близько 94 мс Необхідний час обчислень.
Це відповідає використанню центрального процесора за перевірку 0,16 мс одним потоком. У процесорі 4 ГГц для перевірки використовується 0,64 МГц з одного потоку. Варіант Lite займає 0,12 мс, що відповідало б 0,48 МГц. Тож вам дійсно не доведеться турбуватися про навантаження, яке генерує сам сценарій
З оновленням коду можна ознайомитись у дописі 1
@ doof123 Можливо, нова версія вам цікава