Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato příručka vám ukáže, jak zlepšit způsob, jakým vaše aplikace pro Windows spotřebovává napájení, a nabízí principy, které vám pomůžou zlepšit celkový výkon zařízení a životnost baterie.
Nejzásadnějšími principy pro zlepšení spotřeby energie je zajistit, aby aplikace byla na pozadí, ale ne:
- používat systémové prostředky,
- probuzení procesoru pomocí časovačů,
- Probuďte procesor čekáním na události vsync.
Být "na pozadí" znamená, že aplikace není uživateli viditelná ani zvuková. Neměly by existovat žádné důvody pro buzení procesoru ani využívání systémových prostředků, pokud je systém v režimu na pozadí. Kontrola, jestli aplikace tyto události spouští a řeší příčinu, může výrazně zlepšit spotřebu energie, životnost baterie a snížit emise uhlíku, které budou výsledkem používání vaší aplikace zákazníkům.
Pokud chcete zkontrolovat, jestli se procesor neprobouzí kvůli nepotřebné práci, když se vaše aplikace nepoužívá, můžete zachytit a analyzovat trasování pomocí Analyzátoru výkonu Windows (WPA). Projdeme si kroky vysvětlující, jak to udělat níže.
Zachycení trasování a kontrola nepotřebné práce
Před zachycením sledování je důležité nastavit správné podmínky při spuštění aplikace, abyste mohli analyzovat, zda se provádí zbytečná práce, která může odčerpávat energii. Můžete také chtít spustit více trasování, abyste mohli aplikaci otestovat za různých podmínek.
Setup
Získejte testovací zařízení do nečinnosti otevřením Správce úloh a zajištěním, že využití procesoru je menší než 5%. Tím minimalizujete rušení měření a zajistíte přiměřené stopy velikosti.
Spusťte aplikaci a přejděte do zobrazení, které se má běžně používat.
Minimalizujte aplikaci. *Kroky můžete zopakovat, když je okno vaší aplikace zcela zakryté za jinými okny a když je vaše aplikace v popředí po určité době bez interakce ze strany uživatele, aby se zajistilo, že aplikace nezačne zahajovat zbytečnou činnost.
Měření a vyhodnocení využití procesoru na pozadí
Otevřete příkazový řádek (PowerShell nebo příkazový řádek) v režimu správce. (Pokud neběží v režimu správce, může se zobrazit kód chyby: 0xc5585011, nepovedlo se povolit zásadu profilování výkonu systému.)
Zadejte příkaz:
wpr -start power -filemodeNechte zařízení nečinné po dobu 5 minut.
Zadejte příkaz:
wpr -stop idletrace.etlPokud chcete trasování otevřít pomocí Analyzátoru výkonu Systému Windows (WPA), zadejte příkaz:
wpa.exe idletrace.etlOtevřete graf> procesoru (Přesné).
Přejděte ke svému procesu (nebo pokud máte víceprocesový model, všechny procesy související s vaší aplikací) a vyhodnoťte počet přepínačů C , "Využití procesorem". V ideálním případě se jedná o co nejblíže 0, když je aplikace na pozadí. Pohled na zásobníky je skvělý způsob, jak najít, kde se prostředky používají a jak je vylepšit.
Vyhledejte nadměrné probuzení přidáním zásobníku nových vláken, abyste zjistili, na kterém zásobníku se vlákno probudilo.
Otevřete graf> procesoru (vzorkovaný). Sledujte problémy s využitím procesoru analyzováním toho, kde se v kódu tráví výpočetní čas.
Měření a vyhodnocení čekání vsync na pozadí
Poznámka:
Než prozkoumáte tento pokročilejší scénář, zaměřte se na základní využití procesoru v předchozí části.
Otevřete příkazový řádek (PowerShell nebo příkazový řádek) v režimu správce.
Zadejte příkaz:
wpr -start gpu -filemodeNechte zařízení nečinné po dobu 5 minut.
Zadejte příkaz:
wpr -stop gputrace.etlPokud chcete trasování otevřít pomocí Analyzátoru výkonu Systému Windows (WPA), zadejte příkaz:
wpa.exe gputrace.etlOtevřete grafobecných událostí> systému.
- Vyfiltrujte události Microsoft-Windows-Dxgkrnl.
- Přetáhněte sloupec Proces na pozici druhého sloupce.
- Zkontrolujte, jestli voláte do waitForVsync. Například pomocí API, jako je IDXGIOutput::WaitForVBlank (dxgi.h) v rámci
WaitForVerticalBlankEventInternaludálosti.
Další informace najdete v článku Použití analyzátoru výkonu systému Windows k analýze problémů s moderním pohotovostním režimem.
Dodatečné zdroje
Windows developer