Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze handleiding wordt uitgelegd hoe u de manier kunt verbeteren waarop uw Windows-toepassing energie verbruikt en principes biedt om u te helpen de algehele prestaties en levensduur van het apparaat te verbeteren.
De meest basisprincipes voor het verbeteren van het energieverbruik zijn ervoor te zorgen dat uw app op de achtergrond staat, niet:
- systeembronnen gebruiken,
- de CPU wakker maken via timers,
- activeer de CPU door te wachten op vsync-gebeurtenissen.
Als u 'op de achtergrond' staat, betekent dit dat uw app niet zichtbaar of hoorbaar is voor de gebruiker. Er moeten weinig, indien van toepassing, redenen zijn om de CPU te activeren of systeembronnen op de achtergrond te gebruiken. Controleren of uw app deze gebeurtenissen activeert en de oorzaak aanpakt, kan het energieverbruik, de levensduur van de batterij van uw app aanzienlijk verbeteren en de koolstofuitstoot verminderen die het gevolg is van klanten die uw app gebruiken.
Als u wilt nagaan of de CPU niet onnodig wordt geactiveerd terwijl uw app niet in gebruik is, kunt u een trace vastleggen en analyseren met Windows Performance Analyzer (WPA). Hieronder wordt uitgelegd hoe u dit doet.
Een trace vastleggen en controleren op onnodig werk
Het is belangrijk om de juiste voorwaarden in te stellen bij het uitvoeren van uw app voordat u een tracering vastlegt om te analyseren of onnodig werk wordt uitgevoerd dat stroom kan leegmaken. U kunt ook meerdere traceringen uitvoeren om uw app onder verschillende omstandigheden te testen.
Installatie
Haal uw testapparaat inactief door Taakbeheer te openen en ervoor te zorgen dat het CPU-gebruik minder dan 5%is. Als u dit doet, wordt de interferentie van de meting geminimaliseerd en worden traceringen van redelijke grootte geboden.
Start uw app en navigeer naar een weergave die naar verwachting vaak wordt gebruikt.
Minimaliseer uw app. *Mogelijk wilt u de volgende stappen herhalen terwijl uw app-venster volledig is opgenomen (geblokkeerd voor weergave) achter andere vensters en wanneer uw app zich op de voorgrond bevindt, na een periode van geen interactie door de gebruiker, om ervoor te zorgen dat onnodig werk niet door de app wordt gestart.
CPU-gebruik meten en evalueren op de achtergrond
Open een opdrachtregel (PowerShell of opdrachtprompt) in de beheerdersmodus. (Als deze niet wordt uitgevoerd in de beheermodus, wordt mogelijk foutcode weergegeven: 0xc5585011, 'Kan het beleid niet inschakelen om de systeemprestaties te profilen.'
Voer de opdracht in:
wpr -start power -filemodeLaat het apparaat 5 minuten inactief.
Voer de opdracht in:
wpr -stop idletrace.etlnl-NL: Om de tracering te openen, gebruik het commando: Windows Performance Analyzer (WPA) gebruiken
wpa.exe idletrace.etlOpen de Berekening>CPU-gebruik (nauwkeurig) grafiek.
Navigeer naar uw proces (of als u een model met meerdere processen hebt dat betrekking heeft op uw app) en evalueer het aantal Cswitchs , 'Gebruik per CPU'. In het ideale voorbeeld zijn deze zo dicht mogelijk bij 0 terwijl de app op de achtergrond is. Als u de stacks bekijkt, kunt u vinden waar resources worden gebruikt en hoe u deze kunt verbeteren.
Zoek naar overmatige ontwaakingen door een 'Nieuwe threadstack' toe te voegen om te zien op welke stapel de thread is geactiveerd.
Open de grafiek CPU-gebruik>(sampled) voor berekeningen. Spoor cpu-gebruiksproblemen op door te evalueren waar binnen de code tijd wordt besteed aan uitvoering.
Vsync-wachttijden meten en evalueren op de achtergrond
Opmerking
Richt u op het basis-CPU-gebruik in de vorige sectie voordat u dit geavanceerdere scenario onderzoekt.
Open een opdrachtprompt (PowerShell of opdrachtprompt) in de beheerdersmodus.
Voer de opdracht in:
wpr -start gpu -filemodeLaat het apparaat 5 minuten inactief.
Voer de opdracht in:
wpr -stop gputrace.etlOm de trace te openen met Windows Performance Analyzer (WPA), voer de opdracht in:
wpa.exe gputrace.etlOpen de grafiek van systeemactiviteit>algemene gebeurtenissen.
- Filter op 'Microsoft-Windows-Dxgkrnl'-gebeurtenissen.
- Sleep de kolom Proces naar de tweede kolom.
- Controleer of u WaitForVsync aanroept. Bijvoorbeeld via API's zoals IDXGIOutput::WaitForVBlank (dxgi.h) via de
WaitForVerticalBlankEventInternalgebeurtenis.
Zie het artikel Windows Performance Analyzer gebruiken om moderne stand-byproblemen te analyseren voor meer informatie.
Aanvullende bronnen
Windows developer