Prepínač skriptov Windows PowerPlan pre fórum Nvidia ComputerBase
Ohromenie
Kapitán
Napísal som skript, ktorý automaticky zmení plán napájania systému Windows v závislosti od zaťaženia GPU Nvidia a stavu P (Kompatibilné iba s grafickými kartami Nvidia). Takže kombinujem plán „vyváženej“ úspory energie pre nehranie s plánom úspory energie „vysoký výkon“, keď je grafická karta načítaná, takže hrám.

Akonáhle sa grafická karta zmení na P0 (Performance State) a bude mať viac ako 25% využitie GPU: vysoký výkon
Zatiaľ čo je grafická karta v režime úspory energie alebo má menej ako 25% využitie GPU: Vyvážené
Všetky parametre sú voľne konfigurovateľné v bloku ## To Fill ##
Najmä v hrách má procesor veľmi kolísavé zaťaženie, takže s vyváženým plánom úspory energie v limite GPU môžu vzniknúť značné latencie a skoky oneskorenia, pretože jadrá procesora sa pri nízkej záťaži spomalia a potom musia pri špičkovej záťaži znova taktovať. V závislosti od hry efekty neexistujú (Quantum Break) alebo sú mimoriadne rušivé (Overwatch alebo Nioh).
- Skript nespôsobuje žiadne významné pracovné zaťaženie
- Pri prehliadaní sa šetrí energia, zatiaľ čo pri hraní hier sa latencie minimalizujú
- Prepínanie prebieha automaticky a parametre je možné konfigurovať v skripte
1: Skopírujte kód skriptu do textového súboru v počítači a premenujte ho z .txt na .ps1 (v mojom príklade C: \ Install \ Scripts \ Nvidia_PowerPlanSwitcher \ Nvidia_PowerPlanSwitcher.ps1)
2: Otvorí plánovač úloh (Plánovač úloh v angličtine) a prejde na časť „Vytvoriť novú úlohu“. Teraz postupujte podľa obrázkov.
Po týchto nastaveniach môžete úlohu uložiť pomocou OK a stačí zadať heslo.
Od nasledujúceho spustenia systému Windows sa skript spustí s 1-minútovým oneskorením a každých 10 sekúnd kontroluje načítanie GPU, aby následne zodpovedajúcim spôsobom nastavil plán napájania systému Windows. Skript sa potom v Správcovi úloh spustí ako „powershell.exe“. Takže keď píšem tieto riadky tu v Edge, vyvážený energetický plán je aktívny, ale akonáhle spustím hru, po niekoľkých sekundách sa energetický plán s vysokým výkonom prepne na.
Testované pod Windows 10 s GTX 1080 a štandardným ovládačom Nvidia bez Geforce Experience.
Riešenie problémov
Je možné, že ExecutionPolicy musí byť nastavená na Unrestricted, aby bolo možné vykonávať skripty. S používateľom @Pizza! skript by sa tak dal úspešne použiť.
1: Spustite program Powershell ako správca
2: Do otvoreného prostredia PowerShell zadajte nasledujúci riadok
goofy123
Por. Veliteľ
počítač
Euro je silné; ale silnejšie ceny
Ohromenie
Kapitán
Kadet 4. ročník
Zvyčajne som na to používal NVidia Inspector s funkciou Multi Display Power Saver:
Ale bolo to pred pár rokmi, neviem, či to stále funguje tak dobre ako vtedy.
Ohromenie
Kapitán
goofy123
Por. Veliteľ
počítač
Euro je silné; ale silnejšie ceny
Ohromenie
Kapitán
[Aktualizácia]
Skript som upravil minimálne:
Skript doposiaľ aktivoval požadovaný plán napájania zakaždým, keď bol spustený, v závislosti od zaťaženia GPU, aj keď už bol aktivovaný. Teraz som integroval dopyt, ktorý najskôr načíta aktuálny plán úspory energie a iba ak požadovaný plán úspory energie ešte nie je aktívny, prepne sa.
Predtým: Bolo zistené 3D využitie: Aktivujte GamingPowerPlan
Nové: Bolo zistené 3D načítanie: Aktivujte GamingPowerPlan, ak je momentálne aktívny iný PowerPlan. Ak je už GamingPowerPlan aktívny, nič nerobte
Okrem toho som vytvoril „Lite variant“ bez filtra pre PState, ak niekto tento filter nepotrebuje a radšej ušetrí pár kíl výpočtového času.
Výkonová náročnosť skriptu
Vykonal som test výkonu pre variant bez P-stavu a nechal som cyklus bežať každých 100 ms, t. J. 10x za sekundu namiesto raz za x sekúnd (odporúčal by som 10-60). Celá vec po dobu jednej minúty s neustálym vypínaním a zapínaním testu vykreslenia GPU-Z s cieľom vygenerovať zaťaženie GPU a vygenerovať zmenu plánu úspory energie.
The Začiatok skriptu má presne 484ms Výpočtový čas požadovaný jadrom (Powershell načíta pomerne veľký počet modulov automaticky pri spustení) a potom sa pri približne 600 kontrolách (10 za sekundu počas 1 minúty) výpočtový čas zvýšil z 484ms (štart) na 578ms (štart + 600 kontrol) Takže 600 šekov má dokopy asi 94ms Vyžaduje sa výpočtový čas.
To zodpovedá využitiu CPU na kontrolu 0,16 ms jedným vláknom. V prípade procesora s frekvenciou 4 GHz používa šek 0,64 MHz z jedného vlákna. Varianta Lite trvá 0,12 ms, čo by zodpovedalo 0,48 MHz. Takže sa naozaj nemusíte báť pracovného zaťaženia, ktoré samotný skript generuje
Aktualizáciu kódu nájdete v príspevku 1
@ doof123 Možno je pre teba nová verzia zaujímavá