Скрипта Прекинувач на PowerPlan за Windows за Форум за компјутерска база Nvidia

Зачуденост

Капетан

Напишав скрипта што автоматски го менува планот за напојување на Виндоус во зависност од оптоварувањето на графичкиот процесор на Nvidia и P-State (Само компатибилен со графички картички Nvidia). Значи, јас го комбинирам планот за заштеда на енергија „Балансиран“ за неиграње со планот за заштеда на енергија „Високи перформанси“ додека е вчитана графичката картичка, па затоа играм игри.

прекинувач

Веднаш штом графичката картичка се смени во P0 (состојба на изведба) и има повеќе од 25% употреба на графичкиот процесор: високи перформанси
Додека графичката картичка е во режим на заштеда на енергија или има помалку од 25% употреба на графичкиот процесор: Балансирана
Сите параметри можат слободно да се конфигурираат во блокот ## To Fill ##

Особено во гејмингот, процесорот има многу флуктуирачко оптоварување, така што со балансиран план за заштеда на енергија во границата на графичкиот процесор, може да се појават значителни застои и скокови на заостанување, бидејќи јадрата на процесорот забавува кога товарот е мал, а потоа треба да има часовник повторно кога има врвно оптоварување. Во зависност од играта, ефектите се непостоечки (Квантна пауза) или крајно нарушувачки (Overwatch или Nioh).

  • Скриптата не предизвикува значителен обем на работа
  • Кога прелистувате, енергијата се заштедува, додека играте, латентите се минимизираат
  • Префрлувањето се одвива автоматски и параметрите можат да се конфигурираат во скриптата

1: Копирајте го кодот за скрипта во текстуална датотека на вашиот компјутер и преименувајте го од .txt до .ps1 (во мојот пример C: \ Install \ Scripts \ Nvidia_PowerPlanSwitcher \ Nvidia_PowerPlanSwitcher.ps1)

2: Отвора распоредувач на задачи (Распоредувач на задачи на инж.) И оди во „Креирај задача“. Сега следете ги сликите.

По овие поставки, можете да ја зачувате задачата со ОК и треба само да ја внесете вашата лозинка.

Од следниот почеток на Виндоус, скриптата работи со 1 минутно задоцнување и го проверува оптоварувањето на графичкиот процесор на секои 10 секунди за да може соодветно да се постави планот за напојување на Виндоус. Скриптата потоа работи како „PowerShell.exe“ во Управувачот со задачи. Значи, додека ги пишувам овие редови тука во Еџ, активниот план на балансирана енергија е активен, но штом започнам игра, по неколку секунди, планот за енергија со високи перформанси се префрлува на.

Тестирано под Виндоус 10 со GTX 1080 и стандарден драјвер за Nvidia без Geforce Experience.

Смена на проблеми
Можно е Политиката за извршување да биде поставена на Неограничена за да се овозможи извршување на скриптите. Со корисникот @Pizza! сценариото може успешно да се користи.
1: Стартувај Powershell како администратор
2: Внесете ја следнава линија во отворениот PowerShell

глупав123

Потполковник Командант

компјутер
Еврото е силно; но посилни цени

Зачуденост

Капетан
Кадет 4-та година

Јас порано го користев NVidia Inspector со функцијата Multi Display Power Saver за ова:

Но, тоа беше пред неколку години, не знам дали сè уште работи добро како тогаш.

Зачуденост

Капетан

глупав123

Потполковник Командант

компјутер
Еврото е силно; но посилни цени

Зачуденост

Капетан

[Ажурирај]
Минимално ја изменив скриптата:
Досега, скриптата го активираше посакуваниот план за напојување секој пат кога ќе се изврши, во зависност од оптоварувањето на графичкиот процесор, дури и ако е веќе активирано. Сега имам интегрирано барање кое прво го чита тековниот план за заштеда на енергија и само ако посакуваниот план за заштеда на енергија не е веќе активен, тој е вклучен.

Претходно: Откриена 3Д искористеност: Активирајте го GamingPowerPlan
Ново: Откриено 3Д оптоварување: Активирајте го GamingPowerPlan ако во моментот е активен друг PowerPlan. Ако GamingPowerPlan е веќе активен, не правете ништо

Згора на тоа, создадов „Lite варијанта“ без филтер за PState, ако на некој не му треба овој филтер и претпочита да заштеди неколку килограми компјутерско време.

Потрошувачка на изведба на сценариото
Направив тест за изведба за варијантата без P-State и остави јамка да работи на секои 100 ms, т.е. 10x во секунда наместо еднаш на секои x секунди (јас би препорачал 10-60). Целата работа во период од една минута со постојано исклучување и вклучување на тестот за рендерирање на GPU-Z со цел да се генерира оптоварување на GPU и да се генерира промена на планот за заштеда на енергија.

На Почетокот на сценариото има точно 484ms Време на пресметување кое го бара јадрото (Powershell вчитува релативно голем број модули автоматски при стартување), а потоа за околу 600 проверки (10 во секунда во текот на 1 минута) времето на компјутерот се искачи од 484ms (почеток) на 578ms (почеток + 600 проверки) Значи 600 проверки имаат вкупно околу 94ms Потребно е компјутерско време.

Ова одговара на искористеност на процесорот по проверка од 0,16 ms со една нишка. Со процесор од 4Ghz, една проверка користи 0,64Mhz од една нишка. Варијантата Lite трае 0,12 милји, што би одговарало на 0,48 Mhz. Значи, навистина не мора да се грижите за обемот на работа што го генерира самата скрипта

Ажурирањето на кодот може да се најде во објавата 1

@ doof123 Можеби новата верзија е интересна за вас