Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten przewodnik pomoże Ci poprawić czas odpowiedzi aplikacji systemu Windows, optymalizując opóźnienie uruchamiania i kluczowych interakcji. Szybkie, dynamiczne interakcje (nazywane inaczej interakcjami o małych opóźnieniach) tworzą lepsze środowisko użytkownika. Zrozumienie oczekiwań dotyczących interakcji, mierzenie bieżących czasów trwania i określanie celów poprawy w zależności od klasy interakcji może prowadzić do znaczących ulepszeń środowiska i zadowolenia użytkowników.
Przewodnik krok po kroku dotyczący optymalizowania interakcji na potrzeby dynamicznego zachowania
Klienci mogą czuć się, gdy uruchamianie aplikacji, nawigacja w menu lub ładowanie strony/zawartości działa wolno. Przywykli oczekiwać szybkiego, bezproblemowego doświadczenia, a poniżej udostępniliśmy kilka kroków i wskazówek, aby lepiej zrozumieć te oczekiwania.
Podstawowe kroki optymalizacji opóźnienia dysku to:
Zdefiniuj scenariusz i dodaj zdarzenia TraceLogging.
Utwórz listę kluczowych interakcji, które użytkownik przejdzie podczas korzystania z aplikacji, takich jak uruchamianie, otwieranie menu, przechodzenie do nowej strony i renderowanie zawartości itp. Dla każdej z tych interakcji dodaj zdarzenie rozpoczęcia i zatrzymaj zdarzenie, które ma być używane do pomiaru i analizy. Dowiedz się więcej o tym, jak dodać TraceLogging, format do samodzielnego opisywania śledzenia zdarzeń w systemie Windows (ETW).
Ustaw cele na podstawie klasy interakcji.
Użytkownicy mają różne oczekiwania dotyczące wydajności i reakcji aplikacji w zależności od typu interakcji. Na przykład szybkość uruchamiania aplikacji w porównaniu z szybkim ładowaniem strony. Pomyśl o dopuszczalnym zakresie czasu, który upłynął, aby użytkownicy ukończyli kluczowe interakcje w aplikacji. Może to wahać się od 200 milisekund (ms) do 5 sekund (s). Następnie przypisz każdemu zadaniu etykietę klasy interakcji ze skojarzonym celem. Poniżej przedstawiono kilka podstawowych wskazówek, a także sugestie dotyczące sposobu uwzględnienia interfejsu użytkownika (UI), aby poprawić postrzeganie reakcji:
| Etykieta klasy interakcji | Postrzeganie użytkownika | Zakres opóźnień | Przykłady | Sugerowany interfejs użytkownika |
|---|---|---|---|---|
| Szybko | Minimalne zauważalne opóźnienie | 100–200 milisekund | Otwórz pasek aplikacji, kliknij menu prawym przyciskiem myszy | |
| Interaktywny | Szybkie, ale nie szybkie | 300–500 ms | Zamykanie aplikacji, wyświetlanie buforowanych wyników wyszukiwania | |
| Wstrzymanie | Nie szybkie, ale wydaje się być reaktywne | 500 ms – 1 s | Przejdź do innej strony, wznów aplikację ze stanu wstrzymania, wyświetl wyniki wyszukiwania w Internecie | Animacja wejścia (np. wlatywanie nowej zawartości) może służyć do maskowania czasu wymaganego dla tego scenariusza. |
| Czekać | Nie szybkie ze względu na ilość pracy w scenariuszu | 1 – 3 s | Uruchamianie aplikacji | W celu zanotowania postępu może zostać użyty wirujący/oczekujący kursor. Zarówno animacja wyjścia, jak i wejścia (np. wysuwanie starej strony, wprowadzanie nowej strony) mogą służyć do maskowania czasu potrzebnego dla tego scenariusza. |
| Długie oczekiwanie | Już nie czuje się responsywny | 2– 5 s | Uruchamianie dużych aplikacji (użycie rozszerzonego ekranu powitalnego), rozpoczynanie strumieniowania wideo w jakości HD | Gdy wyświetlane jest "Ładowanie...", jeśli to możliwe, dodaj opcję "anuluj" dla użytkownika. Interfejs użytkownika ładowania powinien pojawić się w klasie Szybka interakcja. Interfejs użytkownika ładowania nie musi wyświetlać wartości procentowej ani czasu pozostałego. |
| Jeniec | Długie oczekiwanie — zarezerwowane dla nieuniknionie długich i złożonych scenariuszy | 5–10 s | Logowanie systemowe | Zostanie wyświetlony "interfejs ładowania" lub okno dialogowe — jeśli to możliwe, udostępnij opcję "anuluj" dla użytkownika. Okno dialogowe powinno pojawić się w klasie Szybka interakcja. W oknie dialogowym powinien zostać wyświetlony procent lub pozostały czas, jeśli zapewni to użytkownikowi przydatny kontekst. |
| Długotrwałe | Długie operacje — użytkownicy prawdopodobnie będą zajmować się wieloma zadaniami, przełączając się na inne w trakcie operacji. | 10 – 30+ s | Instalowanie nowych funkcji lub aktualizacji, pobieranie dużych plików | Interfejs użytkownika powinien być zaprojektowany tak, aby odzwierciedlał możliwość wielozadaniowości. Powinno zostać wyświetlone okno dialogowe postępu, w tym oszacowanie ukończenia (wartość procentowa, pozostały czas itp.). Alternatywnie interfejs użytkownika może całkowicie się zminimalizować i powiadomić użytkownika tylko po zakończeniu scenariusza, przy użyciu wyskakującego powiadomienia. |
Aby sprawdzić dokładne czasy trwania określonych interakcji, możesz przechwycić i przeanalizować ślad przy użyciu narzędzia Windows Performance Analyzer (WPA).
Przed przechwyceniem śledzenia pobierz urządzenie testowe do bezczynności, otwierając Menedżera zadań i upewniając się, że użycie procesora CPU jest mniejsze niż 5%. Pozwoli to zminimalizować interferencję pomiarów i zapewnić rozsądne ślady o odpowiednich rozmiarach. Pomoże to lepiej odizolować interakcję, którą chcesz zmierzyć.
Aby przechwycić ślad, otwórz wiersz polecenia (program PowerShell lub wiersz polecenia) w trybie administratora .
Wprowadź polecenie:
wpr -start GeneralProfile -filemodeUruchom scenariusz interakcji w aplikacji.
Wprowadź polecenie:
wpr -stop Trace.etl
Przeanalizuj ślad i znajdź możliwości poprawy.
Przeanalizuj czas trwania każdej kluczowej interakcji obsługiwanej przez aplikację, otwierając ślad, który został właśnie przechwycony w Windows Performance Analyzer (WPA).
- Aby otworzyć ślad w usłudze WPA, w wierszu polecenia wprowadź:
wpa.exe Trace.etl - Rozwiń listę rozwijaną Aktywność Systemu i kliknij dwukrotnie pozycję "Zdarzenia ogólne", aby otworzyć widok analizy.
- Wybierz serię zdarzeń powiązaną z Twoją aplikacją i rozwiń pole wyboru "Nazwa dostawcy" aż do momentu, gdy będziesz w stanie znaleźć nazwę procesu, nazwę zadania i nazwę zdarzenia skojarzoną z kluczową interakcją, którą poszukujesz. Czas trwania zdarzenia interakcji zostanie wymieniony w kolumnie Czas, a także na wykresie, pokazując Czas trwania, Czas rozpoczęciaoraz Czas zakończenia.
Jeśli czas trwania z twojego śledzenia nie spełnia celów klasy interakcji (np. 500 ms), zidentyfikuj kluczowe wątki dla swojej aplikacji (prawdopodobnie wątek interfejsu użytkownika) i przyjrzyj się najwyższym stosom dla użycia procesora CPU i czekania. *Pamiętaj, że podczas przeprowadzania analizy niektóre problemy mogą nie być specyficzne dla kodu własnej aplikacji.
- Aby otworzyć ślad w usłudze WPA, w wierszu polecenia wprowadź:
Dodatkowe zasoby
Windows developer