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.
Het verbeteren van de prestaties en basisprincipes van uw toepassing geeft het een gevoel van professioneel en vakmanschap, terwijl u uw klanten tijd, geld, batterijduur en ontwikkelingsinspanningen bespaart. Uw app verbruikt minder vermogen, verbetert de levensduur van de batterij en vermindert de koolstofuitstoot. Apps worden soepeler uitgevoerd op goedkopere hardware. De productiviteit van uw klanten neemt toe.
Deze pagina bevat een overzicht van de technologieën en ontwikkelhulpprogramma's voor het meten, begrijpen en verfijnen van de prestaties van uw Windows-toepassing.
De prestaties van uw WinUI 3-app verbeteren
Voor een WinUI 3-app die is gebouwd met de Windows App SDK, volgt u deze werkstroom om het opstarten en dagelijkse interacties te verbeteren. Gebruik metingen om een optimalisatie te kiezen en volg vervolgens de gekoppelde richtlijnen voor implementatiedetails.
Een basislijn meten
Kies een opstartscenario en frequente interacties, zoals navigatie of scrollen, en stel meetbare prestatiedoelen in. Meet een release-build op representatieve hardware. Registreer koude en warme opstarttijden afzonderlijk, waarbij je ook vastlegt wanneer de app daadwerkelijk interactief wordt en niet alleen wanneer het venster verschijnt.
Gebruik WinUI 3-prestatieprofilering om dure UI-frames te vinden en hun CPU-kosten te onderzoeken. Zie Kiezen tussen Visual Studio Performance Profiler en Windows Performance Toolkit als u hulp nodig hebt bij het selecteren van een profiler.
Opstartproces verbeteren
Identificeer de initialisatie en het maken van de gebruikersinterface die moeten worden voltooid voordat de gebruiker kan communiceren met de app. Breek niet-essentiële werkzaamheden uit en laad aanvullende gegevens geleidelijk, zonder een laadindicator te behandelen als voltooid opstarten.
Begin met best practices voor het opstarten van WinUI-apps. Als het maken van XAML een knelpunt is, volg XAML laden optimaliseren voor minder elementen, uitgesteld laden en resourcebeheer.
Reactiesnelheid en rendering verbeteren
Kies de richtlijnen die overeenkomen met het knelpunt in uw metingen:
| Symptoom | Richtlijnen |
|---|---|
| Invoer of navigatie hapert terwijl de app gegevens laadt of resultaten berekent | Houd de UI-thread responsief, inclusief asynchrone I/O, achtergrondberekeningen en updates voor ui-threads. |
| Indeling duurt te lang, met name bij herhaalde sjablonen | Optimaliseer de XAML-indeling om onnodige indelingsstructuur te verminderen. |
| Lijsten of rasters schuiven langzaam of maken te veel elementen | ListView en GridView optimaliseren voor ui-virtualisatie en kleinere itemsjablonen; gegevensvirtualisatie gebruiken bij het laden van de gegevens zelf is het knelpunt. |
Regressies opnieuw meten en voorkomen
Herhaal dezelfde scenario's onder vergelijkbare omstandigheden na elke wijziging en vergelijk de resultaten met uw basislijn. Controleer opstart- en interactietijden naast geheugen- en CPU-gebruik: een verbetering in één gebied kan de kosten elders verhogen.
Bewaar de metingen als regressiecontroles voor toekomstige wijzigingen. Gebruik De prestaties van apps plannen en meten om uw doelen en instrumentatie te verfijnen naarmate uw app zich ontwikkelt.
Wat zijn de prestaties van toepassingen en waarom is het belangrijk?
Prestaties zijn een maatstaf voor hoe efficiënt uw toepassing gebruik maakt van de middelen van het systeem om te doen waarvoor u het hebt ontworpen. Het behandelt verschillende aspecten van de interactie van uw programma met het onderliggende apparaat, waaronder:
- CPU-gebruik
- Geheugenverbruik
- Stroomverbruik
- Netwerk- en opslaggebruik
- Animatieprestaties
Aan al deze eigenschappen zijn kosten verbonden: bijvoorbeeld hoeveel CPU gebruikt mijn toepassing? Hoeveel van de bandbreedte van de gebruiker verbruikt deze? Hoe snel wordt deze specifieke pagina van mijn toepassing geladen?
Gebruikers verwachten prestaties als een fundamentele eigenschap van de software die ze gebruiken. Ze willen dat hun toepassingen responsief zijn en efficiënt gebruikmaken van de resources van hun systeem. Toepassingen die slechte prestaties vertonen, veroorzaken frustraties, wat kan leiden tot verminderde gebruikersbetrokkenheid. Om uw klanten de best mogelijke ervaring te bieden, is het daarom van cruciaal belang om de prestaties een regelmatig onderdeel van uw ontwikkelwerkstroom te maken.
Wanneer moet u de prestaties van toepassingen meten?
Toepassingsprestaties kunnen veel fasen van het ontwikkelingsproces omvatten. Dit heeft gevolgen voor alles, variërend van uw keuze van gegevensstructuur tot de technologie die u kiest voor het bouwen van uw toepassing. Houd rekening met de prestaties tijdens het ontwikkelen van uw toepassing en plan om regelmatige prestatietests te doen als onderdeel van het bijwerken en onderhouden van uw toepassing.
Hoe prestatiemeting te benaderen
Hier volgen enkele suggesties voor het testen van uw toepassing voor prestaties.
- Maak gebruik van uw kennis van uw toepassing. Door inzicht te krijgen in de meest voorkomende scenario's voor uw gebruikers, kunt u uw tijd besteden aan het optimaliseren van de juiste dingen. Als er gegevens beschikbaar zijn over hoe gebruikers met uw toepassing communiceren, is dit een goed moment om deze te bekijken.
- Waar besteden uw gebruikers het grootste deel van hun tijd aan?
- Wat zijn de belangrijkste dingen die een klant met uw software gaat doen?
- Wat zijn de hardwarevereisten van uw toepassing?
- Stel prestatiedoelen in voor uw belangrijkste gebruikersscenario's.
- Wees precies over wat u wilt optimaliseren. Is het CPU? Batterij? Netwerkdoorvoer?
- Selecteer de hulpmiddelen die u wilt gebruiken om uw metingen uit te voeren.
- Pas een wetenschappelijke mindset toe bij het testen. Maak benchmarks in een gecontroleerde omgeving. Breng vervolgens uw wijziging aan en meet opnieuw om te zien hoe uw wijzigingen het gedrag van uw toepassing hebben beïnvloed.
- Voeg regressietests toe aan uw testomgeving. Dit zorgt ervoor dat uw metrische prestatiegegevens na verloop van tijd niet terugkeren.
Verstrengelde metrische gegevens
Hoewel u zich doorgaans richt op één prestatiegebied tijdens uw analyse, moet u er rekening mee houden dat gebieden vaak zijn gekoppeld. Een verbetering in de ene kan trapsgewijs worden omgezet in een verbetering op de andere gebieden.
Het oplossen van het energieverbruik is bijvoorbeeld vaak een synchronisatieprobleem. Het verminderen van het geheugengebruik kan resulteren in het verminderen van de tijd die is besteed aan het gebruik van de CPU. Er kunnen zich ook situaties voordoen waarin extra resources die in het ene gebied worden besteed, een meer impactvolle verbetering in een ander gebied opleveren, bijvoorbeeld door het verhogen van het geheugenverbruik het netwerk- of opslaggebruik via caching te verminderen.
De beslissing om een wijziging aan te brengen, is afhankelijk van wat het belangrijkst is voor uw klanten.
Welke hulpprogramma's kan ik gebruiken om de prestaties van toepassingen te meten?
Er zijn verschillende opties beschikbaar voor het meten van de prestaties van uw Windows-toepassing.
Als u niet zeker weet welke hulpprogramma's u moet kiezen, raadpleegt u het artikel: Kiezen tussen Visual Studio Performance Profiler en Windows Performance Toolkit.
Visual Studio-prestatieprofiler
Visual Studio biedt hulpprogramma's waarmee u uw toepassing kunt bewaken en inzicht krijgt in uw bron. Ga naar de onderstaande bronnen voor meer informatie over hoe u deze hulpprogramma's kunt gebruiken om uw code rechtstreeks vanuit uw ontwikkelomgeving te optimaliseren.
Windows Performance Toolkit
Windows Performance Recorder en Windows Performance Analyzer inschakelen gedetailleerde bewaking en analyse van uw toepassing en het hele systeem met behulp van Event Tracing for Windows (ETW). Zie de onderstaande koppelingen over hoe u aan de slag kunt gaan.
PerfView
PerfView is een open source hulpprogramma voor bewaking en analyse dat door het .NET team is gemaakt voor het onderzoeken van .NET prestatieproblemen. Vanwege de mogelijkheid om .NET symbolen en beheerd geheugen te decoderen, is het een ideale keuze voor beheerde toepassingen.
PerfView-cursusreeks
SizeBench
SizeBench is een hulpprogramma waarmee u de grootte van uw gecompileerde binaire codebestanden (DLL's, EXE's en andere PE-bestanden) kunt onderzoeken en verkleinen.
Aanvullende bronnen
Blogs en nieuws
Ga achter de schermen met ontwikkelaarsblogs, geschreven door onze prestatieexperts om de beste versie van uw app te bouwen.
Community en ondersteuning
- Prestatieproblemen in uw compile-debug-test-loop? Meld ze in de Windows Dev Performance-opslagplaats op GitHub.
Prestaties en duurzaamheid
Performance engineering komt direct samen met de duurzame softwarebeweging. De meeste elektriciteitsnetten verbranden fossiele brandstoffen om elektriciteit te genereren. Wanneer uw toepassing wordt uitgevoerd op een pc, verbruikt deze incrementele kracht die mogelijk klein is voor één gebruiker, maar telt op naarmate uw gebruikersbestand groeit.
Bent u geïnteresseerd in het leren hoe performance engineering met duurzaamheid doorsnijdt? Bekijk de principes van Green Software Engineering en het blog duurzame software van Microsoft.
Windows developer