Script Windows PowerPlan Switcher for Nvidia ComputerBase Forum

Döbbenet

Kapitány

Írtam egy szkriptet, amely az Nvidia GPU terhelésétől és a P-állapottól függően automatikusan megváltoztatja a Windows energiaellátási tervét (Csak az Nvidia grafikus kártyákkal kompatibilis). Kombinálom tehát a "Kiegyensúlyozott" energiamegtakarítási tervet a nem játékhoz és a "Nagy teljesítményű" energiatakarékossági tervet, miközben a grafikus kártya be van töltve, így játékot folytatok.

powerplan

Amint a grafikus kártya P0-ra vált (Performance State) és több mint 25% -os GPU-kihasználtsága van: nagy teljesítmény
Amíg a grafikus kártya energiatakarékos módban van, vagy kevesebb, mint 25% -os GPU-kihasználtság van: Kiegyensúlyozott
Minden paraméter szabadon konfigurálható a ## To Fill ## blokkban

Különösen a játék terén a processzor nagyon ingadozó terheléssel rendelkezik, így a kiegyensúlyozott energiatakarékossági terv betartásával a GPU határértéke jelentős késleltetéseket és késleltetési csúcsokat okozhat, mivel a processzormagok lassulnak, amikor a terhelés alacsony, majd újra kell ébreszteniük, amikor csúcsterhelés van. A játéktól függően a hatások nem léteznek (Quantum Break) vagy rendkívül zavaróak (Overwatch vagy Nioh).

  • A szkript nem okoz jelentős terhelést
  • Böngészés közben az energiamegtakarítás, játék közben pedig a késleltetés minimálisra csökken
  • A váltás automatikusan megtörténik, és a paraméterek a szkriptben konfigurálhatók

1: Másolja a parancsfájl kódját egy számítógépes szövegfájlba, és nevezze át .txt fájlról .ps1 fájlra (a C példában: \ Install \ Scripts \ Nvidia_PowerPlanSwitcher \ Nvidia_PowerPlanSwitcher.ps1)

2: Megnyitja a feladatütemezőt (Task Scheduler in eng), és az "Új feladat létrehozása" elemre megy. Most kövesse a képeket.

Ezen beállítások után mentheti a feladatot az OK gombbal, és csak a jelszavát kell megadnia.

A következő Windows indítástól kezdve a szkript 1 perc késéssel fut, és 10 másodpercenként ellenőrzi a GPU betöltését annak érdekében, hogy ennek megfelelően beállítsa a Windows energiaellátási tervét. Ezután a parancsfájl "powershell.exe" néven fut a Feladatkezelőben. Tehát amíg ezeket a sorokat írom ide, az Edge-be, a kiegyensúlyozott energiaterv aktív, de amint elindítok egy játékot, néhány másodperc múlva a nagy teljesítményű energiaterv átkapcsol.

Windows 10 alatt tesztelve, GTX 1080-mal és Geforce Experience nélküli standard Nvidia illesztőprogrammal.

Hibaelhárítás
Lehetséges, hogy az ExecutionPolicy-t Korlátlan értékre kell állítani a szkriptek végrehajtásának engedélyezése érdekében. @Pizza felhasználóval! a szkript így sikeresen használható.
1: Futtassa a Powershell-t rendszergazdaként
2: Írja be a következő sort a megnyitott PowerShellbe

ostoba123

Hadnagy Parancsnok

számítógép
Az euró erős; de erősebbek az árak

Döbbenet

Kapitány
Kadett 4. évf

Korábban az NVidia Inspector-t használtam a Multi Display Power Saver funkcióval:

De néhány évvel ezelőtt volt, nem tudom, hogy működik-e még mindig olyan jól, mint akkor.

Döbbenet

Kapitány

ostoba123

Hadnagy Parancsnok

számítógép
Az euró erős; de erősebbek az árak

Döbbenet

Kapitány

[Frissítés]
Minimálisan módosítottam a szkriptet:
Eddig a parancsfájl a GPU terhelésétől függően minden végrehajtáskor aktiválta a kívánt energiatervet, még akkor is, ha már aktiválva volt. Most integráltam egy lekérdezést, amely először kiolvassa az aktuális energiatakarékossági tervet, és csak akkor kapcsolja át, ha a kívánt energiatakarékossági terv még nem aktív.

Korábban: 3D-s felhasználás észlelve: Aktiválja a GamingPowerPlan programot
Új: 3D-s terhelés észlelve: Aktiválja a GamingPowerPlan programot, ha egy másik PowerPlan jelenleg aktív. Ha a GamingPowerPlan már aktív, akkor ne tegyen semmit

Ráadásul létrehoztam egy "Lite változatot" a PState szűrője nélkül, ha valakinek nincs szüksége erre a szűrőre, és inkább megspórol néhány kiló számítási időt.

A szkript teljesítményfogyasztása
Végeztem egy teljesítménytesztet a P-állapot nélküli változatnál, és hagytam, hogy a hurok 100 ms-onként, azaz másodpercenként 10x-en futjon, nem pedig x másodpercenként (10-60-at javasolnék). Az egész egy perc alatt, a GPU-Z render teszt állandó kikapcsolásával és bekapcsolásával a GPU terhelésének és az energiatakarékossági terv megváltoztatásának érdekében.

A A szkript kezdete pontosan 484 ms A mag által igényelt számítási idő (a Powershell viszonylag sok modult tölt be automatikusan indításkor), majd körülbelül 600 ellenőrzésnél (másodpercenként 10 másodperc alatt 1 perc alatt) a számítási idő 484 ms-ról (start) 578 ms-ra (start + 600 ellenőrzés) nőtt Tehát 600 csekk összesen kb. 94 ms Számítási idő szükséges.

Ez egy CPU kihasználtságnak felel meg egy szálonként 0,16 ms-os ellenőrzésenként. 4Ghz-es processzor esetén egy ellenőrzés 0,64Mhz-t használ egyetlen szálból. A Lite változat 0,12 ms-ot vesz igénybe, ami 0,48 MHz-nek felel meg. Tehát valóban nem kell aggódnia a munkamennyiség miatt, amelyet maga a szkript generál

A kód frissítése az 1. postban található

@ doof123 Lehet, hogy az új verzió érdekes az Ön számára