Optymalizacje docelowe

Niektóre udoskonalenia wydajności nie wnoszą widocznych usprawnień dla użytkowników. Ważne jest, aby skupić optymalizację wydajności w obszarach rodzących problemy w danej aplikacji. Niektóre optymalizacje wydajności stanowią ogólne, dobre praktyki, które można stosować zawsze. Inne metody optymalizacji — bez względu na to, czy są użyteczne, czy nie — są zależne od potrzeb aplikacji i przewidzianej grupy użytkowników docelowych. Na przykład aplikacje są zawsze wydajniejsze, jeśli nie są w nich wykorzystywane żadne animacje, wideo, filtry graficzne i efekty. Jednak jedną z przyczyn korzystania z platformy Flash do budowania aplikacji jest możliwość korzystania z funkcji multimedialnych i graficznych, które umożliwiają tworzenie aplikacji bogatych w multimedialne środki wyrazu. Należy więc wziąć pod uwagę, czy żądany poziom tego bogactwa będzie odpowiednio dopasowany do charakterystyk wydajności komputerów i urządzeń, na których będzie uruchamiana dana aplikacja.

Istnieje popularna porada, która głosi: „unikaj optymalizacji zbyt wcześnie”. Niektóre metody optymalizacji wymagają takiego kodu, który będzie trudniejszy w odczycie i mniej elastyczny. Taki kod, po optymalizacji, jest trudniejszy do aktualizowania. W przypadku tego rodzaju optymalizacji przed wyborem metody optymalizacji zawsze lepiej jest poczekać i później zdecydować, czy rzeczywiście konkretna sekcja kodu jest wykonywana wolniej.

W celu zwiększenia wydajności czasami konieczne są kompromisy. W sytuacji idealnej zmniejszenie ilości pamięci zużywanej przez aplikację powoduje również wzrost szybkości wykonywania zadań. Jednak idealne optymalizacje nie zawsze są możliwe. Na przykład: jeśli aplikacja jest wstrzymywana podczas działania, wówczas rozwiązanie obejmuje podział pracy w celu wykonania jej na wielu klatkach. Z uwagi na podział pracy całkowity czas wykonania procesu prawdopodobnie się wydłuży. Istnieje jednak możliwość, że użytkownik nie zauważy dodatkowego czasu, jeśli aplikacja będzie nieprzerwanie reagowała na dane wejściowe i nie zawiesi działania.

Jedną z metod określania tego, co należy optymalizować, oraz tego, czy optymalizacje będą pomocne, są testy wydajności. Kilka technik i wskazówek dotyczących wykonywania testów wydajności przedstawiono w sekcji Testowanie i instalowanie .

Więcej informacji o wybieraniu fragmentów aplikacji odpowiednich do optymalizacji zawierają poniższe zasoby: