Udostępnij za pośrednictwem


Planowanie wydajności aplikacji

Sukces osiągania celów wydajności zależy od tego, jak dobrze opracowujesz strategię wydajności. Planowanie jest pierwszym etapem tworzenia dowolnego produktu. W tym temacie opisano kilka bardzo prostych reguł opracowywania dobrej strategii wydajności.

Pomyśl w kategoriach scenariuszy

Scenariusze mogą pomóc w skoncentrowaniu się na krytycznych składnikach aplikacji. Scenariusze zazwyczaj pochodzą od klientów, a także konkurencyjnych produktów. Zawsze badaj swoich klientów i dowiedz się, co naprawdę sprawia, że są podekscytowani produktem i produktami konkurencji. Opinie klientów mogą pomóc w ustaleniu podstawowego scenariusza aplikacji. Jeśli na przykład projektujesz składnik, który będzie używany podczas uruchamiania, prawdopodobnie składnik będzie wywoływany tylko raz, gdy aplikacja zostanie uruchomiona. Czas uruchamiania staje się kluczowym scenariuszem. Inne przykłady kluczowych scenariuszy mogą być żądaną szybkością klatek dla sekwencji animacji lub maksymalnym zestawem roboczym dozwolonym dla aplikacji.

Definiowanie celów

Cele pomagają określić, czy aplikacja działa szybciej, czy wolniej. Należy zdefiniować cele dla wszystkich scenariuszy. Wszystkie zdefiniowane cele dotyczące wydajności powinny być oparte na oczekiwaniach klientów. Osiągnięcie celów wydajności na wczesnym etapie cyklu tworzenia aplikacji może być trudne, gdy nadal istnieje wiele nierozwiązanych problemów. Jednak lepiej jest ustawić początkowy cel i poprawić go później niż nie mieć celu w ogóle.

Omówienie platformy

Zawsze zachowaj cykl mierzenia, badania, udoskonalania/poprawiania podczas cyklu tworzenia aplikacji. Od początku do końca cyklu programowania należy zmierzyć wydajność aplikacji w niezawodnym, stabilnym środowisku. Należy unikać zmienności spowodowanej czynnikami zewnętrznymi. Na przykład podczas testowania wydajności należy wyłączyć program antywirusowy lub dowolną automatyczną aktualizację, taką jak sms, aby nie wpływać na wyniki testów wydajnościowych. Po zmierzeniu wydajności aplikacji należy zidentyfikować zmiany, które spowodują największe ulepszenia. Po zmodyfikowaniu aplikacji uruchom ponownie cykl.

Dostrajanie wydajności w procesie iteracyjnym

Należy znać względny koszt każdej używanej funkcji. Na przykład użycie odbicia w programie Microsoft .NET Framework jest zwykle intensywnie obciążane wydajnością w zakresie zasobów obliczeniowych, więc warto używać go rozsądnie. Nie oznacza to uniknięcia użycia odbicia, ale należy zachować ostrożność, aby zrównoważyć wymagania dotyczące wydajności aplikacji z wymaganiami dotyczącymi wydajności używanych funkcji.

Tworzenie w kierunku bogactwa graficznego

Kluczową techniką tworzenia skalowalnego podejścia do osiągania wydajności aplikacji WPF jest budowanie pod kątem bogactwa graficznego i złożoności. Zawsze zacznij od używania najmniej intensywnie obciążanych zasobów, aby osiągnąć cele scenariusza. Gdy osiągniesz te cele, skompiluj się w kierunku bogactwa graficznego, korzystając z bardziej intensywnie korzystających funkcji wydajności, zawsze mając na uwadze cele scenariusza. Pamiętaj, że WPF jest bardzo bogatą platformą i oferuje bardzo bogate funkcje graficzne. Korzystanie z funkcji intensywnie korzystających z wydajności bez myślenia może negatywnie wpłynąć na ogólną wydajność aplikacji.

Kontrolki WPF są z natury rozszerzalne dzięki umożliwieniu szerokiego dostosowywania ich wyglądu, a jednocześnie nie zmieniając ich zachowania sterującego. Korzystając ze stylów, szablonów danych i szablonów kontrolek, można tworzyć i stopniowo rozwijać dostosowywalny interfejs użytkownika, który dostosowuje się do wymagań dotyczących wydajności.

Zobacz też