Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Poprawa wydajności i podstawowych funkcji aplikacji zapewnia wrażenie dopracowania i kunsztu, jednocześnie oszczędzając klientom czas, pieniądze, baterię i wysiłek deweloperski. Aplikacja będzie zużywać mniej energii, poprawić żywotność baterii i zmniejszyć emisję dwutlenku węgla. Aplikacje działają płynniej na tańszym sprzęcie. Wydajność klientów zwiększa się.
Ta strona zawiera omówienie technologii i narzędzi programistycznych do mierzenia, zrozumienia i udoskonalania wydajności aplikacji systemu Windows.
Zwiększanie wydajności aplikacji WinUI 3
W przypadku aplikacji WinUI 3 utworzonej przy użyciu zestawu Zestaw SDK do aplikacji systemu Windows postępuj zgodnie z tym przepływem pracy, aby usprawnić uruchamianie aplikacji i codzienne interakcje. Użyj miar, aby wybrać optymalizację, a następnie postępuj zgodnie z połączonymi wskazówkami dotyczącymi szczegółów implementacji.
Mierzenie linii bazowej
Wybierz scenariusz uruchamiania i częste interakcje, takie jak nawigacja lub przewijanie, i ustaw mierzalne cele wydajności. Zmierz kompilację w konfiguracji Release na reprezentatywnym sprzęcie. Zarejestruj zimne i ciepłe uruchamianie oddzielnie, w tym gdy aplikacja staje się znacząco interaktywna, a nie tylko wtedy, gdy pojawi się okno.
Użyj profilowania wydajności WinUI 3, aby zlokalizować kosztowne klatki interfejsu użytkownika i zbadać ich użycie procesora. Jeśli potrzebujesz pomocy przy wybieraniu profilera, zobacz Wybieranie między profilerem wydajności Visual Studio a Windows Performance Toolkit.
Ulepszanie uruchamiania
Zidentyfikuj inicjowanie i tworzenie interfejsu użytkownika, które musi zostać zakończone, zanim użytkownik będzie mógł wchodzić w interakcję z aplikacją. Odłóż na później nieistotne zadania i stopniowo ładuj dodatkowe dane, nie traktując wskaźnika ładowania jako oznaki zakończonego uruchamiania.
Zacznij od najlepszych rozwiązań dotyczących uruchamiania aplikacji WinUI. Jeśli tworzenie XAML jest wąskim gardłem, skorzystaj z Optymalizacja ładowania XAML, aby ograniczyć liczbę elementów, zastosować odroczone ładowanie i lepiej zarządzać zasobami.
Poprawianie czasu odpowiedzi i renderowania
Wybierz wskazówki odpowiadające wąskiemu gardłu zidentyfikowanemu w pomiarach:
| Objaw | Wskazówki |
|---|---|
| Wprowadzanie danych lub nawigacja zawiesza się, gdy aplikacja ładuje dane lub oblicza wyniki | Zapewnij responsywność wątku interfejsu użytkownika, w tym asynchroniczne operacje we/wy, obliczenia w tle i aktualizacje w wątku interfejsu użytkownika. |
| Układ trwa zbyt długo, szczególnie w przypadku powtarzających się szablonów | Zoptymalizuj układ XAML , aby zmniejszyć niepotrzebną strukturę układu. |
| Listy lub siatki przewijają się powoli lub tworzą zbyt wiele elementów | Zoptymalizuj elementy ListView i GridView pod kątem wirtualizacji interfejsu użytkownika i mniejszych szablonów elementów; użyj wirtualizacji danych, gdy wąskim gardłem jest samo ładowanie danych. |
Zmierz ponownie i zapobiegaj regresjom
Powtórz te same scenariusze w porównywalnych warunkach po każdej zmianie i porównaj wyniki z punktem odniesienia. Sprawdź czas uruchamiania i czas reakcji, a także zużycie pamięci i procesora: poprawa w jednym obszarze może zwiększyć koszty w innym obszarze.
Zachowaj pomiary jako kontrole regresji na potrzeby przyszłych zmian. Korzystaj z Planowania i pomiaru wydajności aplikacji, aby doprecyzować swoje cele i mechanizmy monitorowania w miarę rozwoju aplikacji.
Co to jest wydajność aplikacji i dlaczego jest to ważne?
Wydajność to miara tego, jak efektywnie aplikacja korzysta z zasobów systemu, aby realizować zamierzone zadania. Obejmuje ona różne aspekty interakcji programu z urządzeniem bazowym, w tym:
- Użycie procesora CPU
- Zużycie pamięci
- Pobór mocy
- Wykorzystanie sieci i pamięci masowej
- Wydajność animacji
Wszystkie te właściwości mają skojarzony element kosztów: na przykład ile procesora CPU używa moja aplikacja? Ile przepustowości użytkownika będzie zużywać? Jak szybko ładuje się ta konkretna strona mojej aplikacji?
Użytkownicy oczekują wydajności jako podstawowej właściwości używanego przez nich oprogramowania. Firma chce, aby aplikacje reagowały i efektywnie korzystały z zasobów systemu. Aplikacje, które wykazują niską wydajność, powodują frustrację, co może prowadzić do zmniejszenia zaangażowania użytkowników. Aby zapewnić klientom najlepsze możliwe środowisko, kluczowe jest zatem, aby wydajność była regularną częścią przepływu pracy programowania.
Kiedy należy zmierzyć wydajność aplikacji?
Wydajność aplikacji może obejmować wiele etapów procesu programowania. Ma to wpływ na wszystko, od wyboru struktury danych po technologię wybraną do tworzenia aplikacji. Należy pamiętać o wydajności podczas tworzenia aplikacji i planować regularne testowanie wydajności w ramach aktualizowania i konserwacji aplikacji.
Jak podejść do pomiaru wydajności
Poniżej przedstawiono kilka sugestii dotyczących podejścia do testowania aplikacji pod kątem wydajności.
- Wykorzystaj swoją wiedzę na temat aplikacji. Zrozumienie najbardziej typowych scenariuszy dla użytkowników pozwoli Ci poświęcić czas na optymalizację odpowiednich rzeczy. Jeśli masz dostępne dane dotyczące sposobu, w jaki użytkownicy wchodzą w interakcję z aplikacją, byłoby to świetny moment, aby im się przyjrzeć.
- Gdzie użytkownicy spędzają większość czasu?
- Jakie są najważniejsze rzeczy, które klient zrobi z oprogramowaniem?
- Jakie są wymagania sprzętowe aplikacji?
- Ustawianie celów wydajności dla najważniejszych scenariuszy użytkownika.
- Bądź precyzyjny, na czym próbujesz zoptymalizować. Czy to procesor? Baterii? Przepływność sieci?
- Wybierz narzędzia, których będziesz używać do wykonywania pomiarów.
- Stosowanie naukowego myślenia podczas testowania. Tworzenie testów porównawczych w kontrolowanym środowisku. Następnie wprowadź zmiany i ponownie zmierz, aby zobaczyć, jak zmiany miały wpływ na zachowanie aplikacji.
- Dodaj testy regresji do środowiska testowego. Dzięki temu metryki wydajności nie ulegają pogorszeniu w czasie.
Splatające się metryki
Podczas analizy zwykle skupiasz się na jednym obszarze wydajności, należy pamiętać, że obszary są często ze sobą powiązane. Poprawa w jednym z nich może wpłynąć na poprawę innych obszarów.
Na przykład rozwiązywanie problemów z zużyciem energii jest często problemem z synchronizacją. Zmniejszenie użycia pamięci może spowodować skrócenie czasu spędzonego przy użyciu procesora CPU. Mogą również wystąpić sytuacje, w których dodatkowe zasoby wydane w jednym obszarze dają większą poprawę w innym obszarze — na przykład zwiększenie zużycia pamięci może zmniejszyć wykorzystanie sieci lub pamięci masowej przez zastosowanie buforowania.
Decyzja o zmianie zależy od tego, co jest najważniejsze dla Twoich klientów.
Jakich narzędzi można używać do mierzenia wydajności aplikacji?
Dostępnych jest wiele różnych opcji mierzenia wydajności aplikacji systemu Windows.
Jeśli nie masz pewności, jakie narzędzia wybrać, przeczytaj artykuł: Wybór pomiędzy profilerem wydajności Visual Studio a Windows Performance Toolkit.
Profilator wydajności Visual Studio
Visual Studio oferuje narzędzia ułatwiające monitorowanie aplikacji i dostarczanie wglądu w kod źródłowy. Odwiedź poniższe zasoby, aby dowiedzieć się, jak za pomocą tych narzędzi zoptymalizować kod bezpośrednio ze środowiska deweloperskiego.
Zestaw Narzędzi do Analizy Wydajności Windows
Windows Performance Recorder i Windows Analizator wydajności włączyć szczegółowe monitorowanie i analizę aplikacji oraz całego systemu przy użyciu Event Tracing for Windows (ETW). Zapoznaj się z poniższymi linkami, aby dowiedzieć się, jak zacząć.
Analizator wydajności systemu Windows Wprowadzenie
ikona
PerfView
PerfView to narzędzie do monitorowania i analizy typu open source utworzone przez zespół platformy .NET do badania problemów z wydajnością platformy .NET. Ze względu na możliwość dekodowania symboli platformy .NET i pamięci zarządzanej jest idealnym wyborem dla zarządzanych aplikacji.
Seria samouczków programu PerfView
RozmiarBench
SizeBench to narzędzie, które ułatwia badanie i zmniejszanie rozmiaru skompilowanych plików binarnych kodu natywnego (bibliotek DLL, EXEs i innych plików PE).
Dodatkowe zasoby
Blogi i wiadomości
Zajrzyj za kulisy na blogach deweloperów, które napisali nasi eksperci ds. wydajności, aby pomóc Ci stworzyć najlepszą wersję Twojej aplikacji.
Blog .NET Wydajność
Blogi o wydajności Visual Studio
Społeczność i wsparcie
- Masz problemy z wydajnością w cyklu kompilacji, debugowania i testowania? Zgłoś je w repozytorium Windows Dev Performance GitHub.
Wydajność i zrównoważony rozwój
Inżynieria wydajności bezpośrednio łączy się z ruchem na rzecz zrównoważonego oprogramowania. Większość sieci elektrycznych spala paliwa kopalne w celu wytwarzania energii elektrycznej. Gdy aplikacja działa na komputerze, zużywa przyrostową moc, która może być mała dla jednego użytkownika, ale zwiększa się wraz ze wzrostem bazy użytkowników.
Chcesz dowiedzieć się, jak inżynieria wydajności współdziała ze zrównoważonym rozwojem? Zapoznaj się z zasadami zielonej inżynierii oprogramowania i bloga microsoft zrównoważonego oprogramowania.