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. Jeśli piszesz aplikację UWP, zapoznaj się również z dokumentacją UWP Performance.
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 Performance Analyzer 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.