Zamiast stosować model zdarzenia należy zastanowić się nad zastosowaniem prostych wywołań zwrotnych.
Model zdarzeń programu ActionScript 3.0 jest oparty na koncepcji wywoływania obiektów. Model zdarzeń jest zorientowany obiektowo i zoptymalizowany pod względem ponownego wykorzystania kodu. Metoda
dispatchEvent()
wykonuje pętlę po detektorach z listy i wywołuje procedurę obsługi zdarzeń na każdym zarejestrowanym obiekcie. Jedną z wad modelu zdarzeń jest to, że w cyklu życia aplikacji istnieje prawdopodobieństwo utworzenia wielu obiektów.
Wyobraźmy sobie wywołanie zdarzenia z osi czasu z powiadomieniem o końcu sekwencji animacji. W celu uzyskania powiadomienia można wywołać zdarzenie z konkretnej klatki na osi czasu, co ilustruje poniższy kod:
dispatchEvent( new Event ( Event.COMPLETE ) );
Klasa Document może wykryć to zdarzenie za pośrednictwem następującego wiersza kodu:
addEventListener( Event.COMPLETE, onAnimationComplete );
Mimo, że takie podejście jest poprawne, jednak zastosowanie macierzystego modelu zdarzeń może spowodować działanie wolniejsze niż w przypadku zastosowania tradycyjnej funkcji wywołania zwrotnego. Obiekty zdarzeń muszą być tworzone i przydzielane w pamięci, co powoduje zmniejszenie szybkości działania. Na przykład: podczas wykrywania zdarzenia Event.ENTER_FRAME w każdej klatce tworzony jest nowy obiekt zdarzenia dla procedury obsługi zdarzeń. Szybkość działania może być szczególnie niska dla obiektów wyświetlanych z powodu faz przechwytywania i propagacji, co może być kosztowne, jeśli lista wyświetlania jest złożona.