Ustawianie właściwości obiektu Stage

Flash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje

Klasa Stage zastępuje większość właściwości i metod klasy DisplayObject. W przypadku wywołania jednej z tych zastąpionych właściwości lub metod programy Flash Player i AIR zwracają wyjątek. Na przykład: obiekt Stage nie ma właściwości x ani y , ponieważ jego pozycja jest określona jako główny kontener dla aplikacji. Właściwości x i y dotyczą położenia obiektu wyświetlanego względem jego kontenera, a ponieważ obiekt Stage nie jest zawarty w żadnych kontenerze obiektów wyświetlanych, te właściwości nie mają dla niego zastosowania.

Uwaga: Niektóre właściwości i metody klasy Stage są dostępne tylko dla obiektów wyświetlanych, które znajdują się w tym samym bezpiecznym obszarze izolowanym co pierwszy załadowany plik SWF. Szczegółowe informacje zawiera sekcja Zabezpieczenia stołu montażowego .

Kontrolowanie liczby klatek na sekundę podczas odtwarzania

Właściwość frameRate klasy Stage służy do ustawiania liczby klatek na sekundę dla wszystkich plików SWF załadowanych do aplikacji. Więcej informacji zawiera Skorowidz języka ActionScript 3.0 dla platformy Adobe Flash .

Kontrolowanie skalowania stołu montażowego

Zmiana rozmiaru fragmentu ekranu przedstawiającego program Flash Player lub środowisko AIR powoduje, że środowisko wykonawcze automatycznie dostosowuje zawartość obiektu Stage w celu skompensowania tej czynności. Właściwość scaleMode klasy Stage określa sposób dostosowania zawartości stołu montażowego. Dla tej właściwości można ustawić cztery różne wartości zdefiniowane jako stałe w klasie flash.display.StageScaleMode:

  • Wartość StageScaleMode.EXACT_FIT powoduje skalowanie zawartości SWF w taki sposób, aby nowe wymiary stołu montażowego zostały wypełnione bez uwzględniania proporcji oryginalnej zawartości. Współczynniki skali mogą nie być takie same dla szerokości i wysokości, więc w przypadku zmiany proporcji stołu montażowego zawartość może wyglądać na ściśniętą lub rozciągniętą.

  • Wartość StageScaleMode.SHOW_ALL powoduje skalowanie zawartości SWF w taki sposób, aby nastąpiło całkowite dopasowanie do nowych wymiarów stołu montażowego bez zmiany proporcji zawartości. Ten tryb skalowania powoduje wyświetlenie całej zawartości, ale może generować krawędzie typu „letterbox”, czyli wyświetlanie czarnych pasów podobnych do tych wyświetlanych podczas oglądania filmu panoramicznego na standardowym telewizorze.

  • Wartość StageScaleMode.NO_BORDER powoduje skalowanie zawartości SWF w taki sposób, aby nowe wymiary stołu montażowego zostały całkowicie wypełnione bez zmiany proporcji zawartości. Ten tryb skalowania powoduje użycie całego obszaru wyświetlania stołu montażowego, może to skutkować kadrowaniem.

  • Wartość StageScaleMode.NO_SCALE nie powoduje skalowania zawartości SWF. Jeśli nowe wymiary stołu montażowego są mniejsze, zawartość jest kadrowana, a jeśli są większe, dodatkowy obszar pozostaje pusty.

    Tylko w trybie skalowania StageScaleMode.NO_SCALE właściwości Width i Height stołu montażowego (klasy Stage) mogą służyć do określania rzeczywistych wymiarów zmienionego stołu montażowego w pikselach. (W innych trybach skalowania właściwości stageWidth i stageHeight zawsze odzwierciedlają pierwotną wysokość i szerokość pliku SWF). Ponadto gdy scaleMode ma wartość StageScaleMode.NO_SCALE , a wielkość pliku SWF zostanie zmieniona, następuje wywołanie zdarzenia resize klasy Stage, co umożliwia wprowadzenie odpowiednich korekt.

    W konsekwencji ustawienie dla scaleMode wartości StageScaleMode.NO_SCALE zapewnia większe możliwości kontrolowania sposobu, w jaki zawartość ekranu dostosowuje się do zmian wielkości okna, jeśli jest to wymagane. Na przykład: w przypadku pliku SWF zawierającym plik wideo i pasek sterowania konieczne może być, aby pasek sterowania zachował tę samą wielkość nawet w przypadku zmiany wielkości stołu montażowego oraz aby zmieniła się tylko wielkość okna wideo w celu uwzględnienia zmiany wielkości stołu montażowego. Poniższy przykład przedstawia taką sytuację:

    // mainContent is a display object containing the main content; 
    // it is positioned at the top-left corner of the Stage, and 
    // it should resize when the SWF resizes. 
     
    // controlBar is a display object (e.g. a Sprite) containing several 
    // buttons; it should stay positioned at the bottom-left corner of the 
    // Stage (below mainContent) and it should not resize when the SWF 
    // resizes. 
     
    import flash.display.Stage; 
    import flash.display.StageAlign; 
    import flash.display.StageScaleMode; 
    import flash.events.Event; 
     
    var swfStage:Stage = mainContent.stage; 
    swfStage.scaleMode = StageScaleMode.NO_SCALE; 
    swfStage.align = StageAlign.TOP_LEFT; 
    swfStage.addEventListener(Event.RESIZE, resizeDisplay); 
     
    function resizeDisplay(event:Event):void 
    { 
        var swfWidth:int = swfStage.stageWidth; 
        var swfHeight:int = swfStage.stageHeight; 
     
        // Resize the main content area 
        var newContentHeight:Number = swfHeight - controlBar.height; 
        mainContent.height = newContentHeight; 
        mainContent.scaleX = mainContent.scaleY; 
         
        // Reposition the control bar. 
        controlBar.y = newContentHeight; 
    }

Ustawianie trybu skali stołu montażowego dla okien AIR

Właściwość scaleMode stołu montażowego określa, w jaki sposób na stole montażowym skalowane i obcinane są podrzędne obiekty wyświetlane w przypadku zmiany wielkości okna. W środowisku AIR powinien być stosowany tylko tryb noScale . W tym trybie stół montażowy nie jest skalowany. Zamiast tego wielkość stołu montażowego zmienia się bezpośrednio wraz ze zmianą obwiedni okna. W przypadku zmniejszenia wielkości okna obiekty mogą być obcinane.

Tryby skalowania stołu montażowego są przeznaczone do stosowania w środowiskach, takich jak przeglądarka internetowa, w których użytkownik nie zawsze ma kontrolę nad wielkością i proporcjami stołu montażowego. Takie tryby umożliwiają wybór najbardziej korzystnego kompromisu w przypadku, gdy format stołu montażowego nie jest idealnie dostosowany do wielkości i proporcji aplikacji. W środowisku AIR stół montażowy jest zawsze kontrolowany, więc w większości przypadków zmiana układu zawartości lub wymiarów okna da lepsze wyniki niż włączenie skalowania stołu montażowego.

W przeglądarce internetowej oraz w początkowym oknie AIR relacja między wielkością okna i początkowym współczynnikiem skali jest odczytywana z załadowanego pliku SWF. Jednak podczas tworzenia obiektu NativeWindow środowisko AIR wybiera następujący stosunek między wielkością okna, a współczynnikiem skali: 72:1. Dlatego jeśli okno ma rozmiar 72x72 piksele, wówczas dodany do okna prostokąt o rozmiarze 10x10 pikseli zostanie narysowany w poprawnym rozmiarze 10x10 pikseli. Jeśli jednak okno ma rozmiar 144x144 piksele, wówczas prostokąt o rozmiarach 10x10 zostanie wyskalowany do wielkości 20x20 pikseli. Jeśli wymagane jest używanie właściwości scaleMode innej niż noScale dla stołu montażowego w oknie, możliwa jest kompensacja poprzez ustawienie współczynnika skali dowolnych obiektów wyświetlanych w oknie na stosunek 72 pikseli do bieżącej szerokości i wysokości stołu montażowego. Przykład: poniższy kod oblicza wymagany współczynnik skali dla obiektu wyświetlanego o nazwie client :

if(newWindow.stage.scaleMode != StageScaleMode.NO_SCALE){ 
client.scaleX = 72/newWindow.stage.stageWidth; 
client.scaleY = 72/newWindow.stage.stageHeight; 
}
Uwaga: W oknach Flex i HTML właściwość scaleMode stołu montażowego zostanie automatycznie ustawiona na noScale . Zmiana właściwości scaleMode zakłóca mechanizmy automatycznego definiowania układu, jakie są stosowane w oknach tego typu.

Praca z trybem pełnoekranowym

Tryb pełnoekranowy umożliwia ustawienie stołu montażowego filmu w taki sposób, aby wypełniał on cały ekran bez krawędzi ani menu kontenera. Właściwość displayState klasy Stage służy do włączania i wyłączania trybu pełnoekranowego dla pliku SWF. Dla właściwości displayState można ustawić jedną z wartości zdefiniowanych przez stałe klasy flash.display.StageDisplayState. Aby włączyć tryb pełnoekranowy, należy właściwości displayState przypisać wartość StageDisplayState.FULL_SCREEN :

stage.displayState = StageDisplayState.FULL_SCREEN; 

Aby włączyć pełnoekranowy tryb interaktywny (nowy tryb w programie Flash Player 11.3), ustaw dla właściwości displayState wartość StageDisplayState.FULL_SCREEN_INTERACTIVE .

stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 

W programie Flash Player tryb pełnoekranowy może być inicjowany tylko za pośrednictwem kodu ActionScript w odpowiedzi na kliknięcie (również kliknięcie prawym przyciskiem myszy) lub naciśnięcie klawisza. Treść AIR działająca w bezpiecznym obszarze izolowanym aplikacji nie wymaga uruchamiania trybu pełnoekranowego w odpowiedzi na gest użytkownika.

Aby wyjść z trybu pełnoekranowego, należy właściwości displayState przypisać wartość StageDisplayState.NORMAL .

stage.displayState = StageDisplayState.NORMAL; 

Ponadto użytkownik może wyłączyć tryb pełnoekranowy, aktywując inne okno lub korzystając z jednej z kilku kombinacji klawiszy: klawisz Esc (wszystkie platformy), Control-W (Windows), Command-W (Mac) lub Alt-F4 (Windows).

Zezwolenie na użycie trybu pełnoekranowego w programie Flash Player

Aby możliwe było używanie trybu pełnoekranowego w pliku SWF osadzonym na stronie HTML, kod HTML, który osadza program Flash Player, musi zawierać znacznik param i atrybut embed o nazwie allowFullScreen i wartości true , jak poniżej:

<object> 
    ... 
    <param name="allowFullScreen" value="true" /> 
    <embed ... allowFullScreen="true" /> 
</object>

W narzędziu Flash do tworzenia treści wybierz polecenie Plik -> Ustawienia publikowania, a następnie w oknie dialogowym Ustawienia publikowania, na karcie HTML, wybierz szablon Tylko Flash - zezwalaj na tryb pełnoekranowy.

W programie Flex dopilnuj, aby szablon HTML zawierał znaczniki <object> i <embed> zezwalające na tryb pełnoekranowy.

Jeśli na stronie sieci Web używany jest kod JavaScript w celu generowania znaczników, które służą do osadzania plików SWF, wówczas należy zmodyfikować kod JavaScript w celu dodania znacznika i atrybutu allowFullScreen param . Na przykład: jeśli strona HTML korzysta z funkcji AC_FL_RunContent() (która jest używana przez strony HTML wygenerowane w programach Flash Professional i Flash Builder), wówczas należy dodać do wywołania tej funkcji parametr allowFullScreen , w następujący sposób:

AC_FL_RunContent( 
    ... 
    'allowFullScreen','true', 
    ... 
    ); //end AC code

Nie ma to zastosowania w przypadku plików SWF działających w autonomicznych programach Flash Player.

Uwaga: W przypadku ustawienia trybu okna (wmode w języku HTML) na nieprzezroczysty bez okna (opaque) lub przezroczysty bez okna (transparent) wideo pełnoekranowe i tak zawsze jest nieprzezroczyste.

Użycie trybu pełnoekranowego w programie Flash Player działającym w przeglądarce podlega także ograniczeniom związanym z bezpieczeństwem. Ograniczenia te zostały opisane w rozdziale Zabezpieczenia .

Włączanie pełnoekranowego trybu interaktywnego w programie Flash Player 11.3 lub nowszym

Od wersji 11.3 program Flash Player obsługuje pełnoekranowy tryb interaktywny pozwalający korzystać ze wszystkich klawiszy (poza klawiszem Esc , który służy do wyłączania tego trybu). Pełnoekranowy tryb interaktywny jest przydatny w przypadku gier. Umożliwia na przykład obsługę czatu dla wielu graczy oraz klawiszy WASD w grach akcji z perspektywą pierwszej osoby.

Aby możliwe było używanie pełnoekranowego trybu interaktywnego w pliku SWF osadzonym na stronie HTML, kod HTML, który osadza zawartość programu Flash Player, musi zawierać znacznik param oraz atrybut embed o nazwie allowFullScreenInteractive i wartości true , tak jak w poniższym przykładzie.

<object> 
    ... 
    <param name="allowFullScreenInteractive" value="true" /> 
    <embed ... allowFullScreenInteractive="true" /> 
</object>

W narzędziu Flash do tworzenia treści wybierz polecenie Plik -> Ustawienia publikowania, a następnie w oknie dialogowym Ustawienia publikowania na karcie HTML wybierz szablon Tylko Flash — zezwalaj na pełnoekranowy tryb interaktywny.

W programach Flash Builder i Flex upewnij się, że szablony HTML zawierają znaczniki <object> i <embed> obsługujące pełnoekranowy tryb interaktywny.

Jeśli na stronie internetowej do generowania znaczników osadzania plików SWF jest używany kod JavaScript, należy zmodyfikować kod JavaScript w celu dodania znacznika i atrybutu allowFullScreenInteractive param . Jeśli na przykład strona HTML korzysta z funkcji AC_FL_RunContent() (stosowanej na stronach HTML generowanych przez programy Flash Professional i Flash Builder), należy dodać parametr allowFullScreenInteractive do wywołania tej funkcji w sposób przedstawiony poniżej.

AC_FL_RunContent( 
    ... 
    'allowFullScreenInteractive','true', 
    ... 
    ); //end AC code

Nie ma to zastosowania w przypadku plików SWF działających w autonomicznych odtwarzaczach Flash Player.

Pełnoekranowy stół montażowy i skalowanie

Właściwości Stage.fullScreenHeight i Stage.fullScreenWidth zwracają wysokość i szerokość monitora, na którym włączany jest tryb pełnoekranowy, jeśli przełączenie w ten tryb następuje natychmiast. Zwrócone wartości mogą być niepoprawne, jeśli użytkownik miał możliwość przesunięcia okna przeglądarki z jednego monitora na drugi już po pobraniu wartości, ale przed włączeniem trybu pełnoekranowego. Wartości będą zawsze poprawne, jeśli zostaną odczytane w tej samej metodzie obsługi zdarzenia, w której właściwości Stage.displayState przypisano wartość StageDisplayState.FULL_SCREEN . W przypadku użytkowników z wieloma monitorami treść pliku SWF wypełni tylko jeden monitor. Program Flash Player i środowisko AIR korzystają z metryki w celu określenia monitora, który zawiera największą część pliku SWF, a następnie wykorzystują ten monitor dla trybu pełnoekranowego. Właściwości fullScreenHeight i fullScreenWidth odzwierciedlają tylko rozmiar monitora stosowanego w przypadku trybu pełnoekranowego. Więcej informacji zawierają opisy właściwości Stage.fullScreenHeight i Stage.fullScreenWidth w Skorowidzu języka ActionScript 3.0 dla platformy Adobe Flash .

Skalowanie stołu montażowego w trybie pełnoekranowym przebiega w ten sam sposób, jak w trybie normalnym; skalowanie jest kontrolowane przez właściwość scaleMode klasy Stage. Jeśli właściwość scaleMode ma wartość StageScaleMode.NO_SCALE , wówczas właściwości stageWidth i stageHeight zmieniają się w celu odzwierciedlenia wielkości obszaru ekranu zajętego przez plik SWF (w tym przypadku cały ekran); w przypadku wyświetlania w przeglądarce to ustawienie kontroluje parametr HTML.

Zdarzenie fullScreen klasy Stage może służyć do wykrywania i reagowania na włączanie/wyłączanie trybu pełnoekranowego. Na przykład: podczas włączania lub wyłączania trybu pełnoekranowego konieczne może być przesuwanie, dodawanie lub usuwanie elementów z ekranu, jak w poniższym przykładzie:

import flash.events.FullScreenEvent; 
 
function fullScreenRedraw(event:FullScreenEvent):void 
{ 
    if (event.fullScreen) 
    { 
        // Remove input text fields. 
        // Add a button that closes full-screen mode. 
    } 
    else 
    { 
        // Re-add input text fields. 
        // Remove the button that closes full-screen mode. 
    } 
} 
 
mySprite.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenRedraw);

Zgodnie z kodem obiekt zdarzenia dla zdarzenia fullScreen jest instancją klasy flash.events.FullScreenEvent, która zawiera właściwość fullScreen określającą, czy tryb pełnoekranowy jest włączony ( true ) lub wyłączony ( false ).

Obsługa klawiatury w trybie pełnoekranowym

Gdy program Flash Player działa w przeglądarce, wyłączone są wszystkie funkcje języka ActionScript związane z klawiaturą, takie jak zdarzenia i możliwość wprowadzania tekstu w instancjach klasy TextField. Istnieje jednak kilka wyjątków od tej zasady (tj. klawiszy aktywnych):

  • wybrane klawisze bez reprezentacji drukowalnej, w szczególności klawisze strzałek, spacja i klawisz Tab;

  • skróty klawiaturowe, które powodują wyjście z trybu pełnoekranowego: Esc (Windows i Mac), Control-W (Windows), Command-W (Mac) oraz Alt-F4.

Te ograniczenia nie obowiązują dla treści SWF działającej w autonomicznym programie Flash Player lub w aplikacji AIR. Środowisko AIR udostępnia interaktywny tryb pełnoekranowy, którym można sterować z klawiatury.

Obsługa myszy w trybie pełnoekranowym

Domyślnie zdarzenia dotyczące myszy działają w trybie pełnoekranowym tak samo jak poza tym trybem. W trybie pełnoekranowym można jednak opcjonalnie ustawić właściwość Stage.mouseLock , aby włączyć blokowanie myszy. Zablokowanie myszy powoduje wyłączenie kursora i umożliwia poruszanie myszą bez punktu odniesienia.

Uwaga: Blokowanie myszy można włączyć tylko w trybie pełnoekranowym aplikacji dla komputerów. Ustawienie tej opcji w przypadku aplikacji, która nie jest w trybie pełnoekranowym lub jest przeznaczona dla urządzeń przenośnych, powoduje wygenerowanie wyjątku.

Blokowanie myszy jest automatycznie wyłączane i kursor myszy staje się widoczny w następujących sytuacjach:

  • Użytkownik wyłącza tryb pełnoekranowy za pomocą klawisza Escape (wszystkie platformy) lub klawiszy Control-W (Windows), Command-W (Mac) albo Alt-F4 (Windows).

  • Okno aplikacji przestaje być aktywne.

  • Jest widoczny dowolny interfejs użytkownika związany z ustawieniami. (Dotyczy to również wszystkich okien dialogowych związanych z prywatnością).

  • Jest wyświetlane natywne okno dialogowe, na przykład okno dialogowe wysyłania plików.

Zdarzenia skojarzone z ruchami myszy, takie jak mouseMove , obsługują obiekt zdarzenia przy użyciu klasy MouseEvent. Gdy jest wyłączone blokowanie myszy, w celu określenia położenia kursora należy użyć metod MouseEvent.localX i MouseEvent.localY . W przypadku włączonego blokowanie myszy położenie kursora można określić za pomocą właściwości MouseEvent.movementX i MouseEvent.movementY . Właściwości movementX i movementY zawierają zmiany położenia myszy od ostatniego zdarzenia, a nie bezwzględne współrzędne położenia myszy.

Skalowanie sprzętowe w trybie pełnoekranowym

Właściwość fullScreenSourceRect klasy Stage służy do ustawiania w programie Flash Player i AIR powiększania skali dla konkretnego regionu stołu montażowego do trybu pełnoekranowego. Jeśli jest to technicznie możliwe, program Flash Player i środowisko AIR skalują obraz sprzętowo, przy użyciu karty graficznej i karty wideo zainstalowanej w komputerze użytkownika. Z reguły pozwala to na szybsze wyświetlanie treści niż w przypadku skalowania programowego.

Aby skorzystać ze skalowania sprzętowego, należy ustawić całość lub część stołu montażowego na tryb pełnego ekranu. Poniższy kod ActionScript 3.0 powoduje ustawienie całego stołu montażowego na tryb pełnego ekranu:

import flash.geom.*;  
{ 
    stage.fullScreenSourceRect = new Rectangle(0,0,320,240); 
    stage.displayState = StageDisplayState.FULL_SCREEN; 
}

Gdy dla tej właściwości ustawiony na prawidłowy prostokąt, a właściwość displayState jest ustawiona na tryb pełnoekranowy, wówczas program Flash Player i AIR przeprowadza skalowanie określonego obszaru. Właściwy rozmiar obiektu Stage w pikselach wewnątrz skryptu ActionScript nie ulega zmianie. Programy Flash Player i AIR wymuszają minimalny limit rozmiaru prostokąta, aby możliwe było wyświetlenie standardowego komunikatu o konieczności naciśnięcia klawisza Esc w celu wyjścia z trybu pełnoekranowego. Limit ten wynosi z reguły około 260 na 30 pikseli, lecz może się różnić w zależności od platformy i wersji programu Flash Player.

Właściwość fullScreenSourceRect można ustawić tylko wówczas, gdy program Flash Player lub AIR nie działa w trybie pełnoekranowym. Aby prawidłowo używać tej właściwości, należy najpierw przypisać jej wartość, a następnie włączyć tryb pełnoekranowy za pośrednictwem właściwości displayState .

W celu włączenia skalowania należy ustawić właściwość fullScreenSourceRect na obiekt prostokątny.

stage.fullScreenSourceRect = new Rectangle(0,0,320,240);

Aby wyłączyć skalowanie, należy przypisać właściwości fullScreenSourceRect wartość null .

stage.fullScreenSourceRect = null;

Aby wykorzystać wszystkie funkcje przyspieszania sprzętowego oferowane przez program Flash Player, należy włączyć przyspieszanie sprzętowe za pośrednictwem okna dialogowego Ustawienia programu Flash Player. Aby załadować okno dialogowe, kliknij prawym przyciskiem myszy (Windows) lub kliknij, trzymając naciśnięty klawisz Control (Mac), na treści wyświetlanej przez program Flash Player w przeglądarce. Następnie należy wybrać pierwszą kartę, Ekran, i kliknąć pole wyboru włączania przyspieszania sprzętowego.

Tryby okna: bezpośredni i kompozycji wspomaganej przez procesor GPU

W programie Flash Player 10 wprowadzono dwa tryby okna: tryb bezpośredni i tryb kompozycji wspomaganej przez procesor GPU. Tryby te wybiera się w ustawieniach publikowania w narzędziu Flash do tworzenia treści. Te tryby nie są obsługiwane w środowisku AIR. Aby z nich skorzystać, należy włączyć przyspieszanie sprzętowe w programie Flash Player.

W trybie bezpośrednim stosowana jest bezpośrednia, najszybsza technika umieszczania grafiki na ekranie, korzystna w przypadku odtwarzania wideo.

W trybie kompozycji wspomaganej przez procesor GPU kompozycja wideo jest wspomagana przez procesor graficzny na karcie wideo. Kompozycja wideo to proces nakładania wielu warstw obrazu w celu utworzenia jednego obrazu wideo. Wspomaganie kompozycji przez procesor GPU może przyspieszyć takie operacje, jak konwersja YUV, korekcja kolorów, obroty, skalowanie i mieszanie. Konwersja YUV to konwersja kolorów przekazywanych w zespolonym sygnale analogowym na wartości modelu kolorów RGB (czerwony, zielony, niebieski) stosowany w kamerach wideo i monitorach. Przyspieszanie kompozycji z wykorzystaniem procesora GPU zmniejsza zapotrzebowanie na pamięć i moc obliczeniową procesora głównego (CPU). Poprawia ponadto płynność odtwarzania wideo o standardowej rozdzielczości.

Należy jednak zachować ostrożność przy stosowaniu tych trybów okna. Korzystanie z kompozycji wspomaganej przez GPU może, paradoksalnie, zwiększać zużycie pamięci i obciążenie procesora głównego. Jeśli niektóre operacje (np. mieszanie, filtrowanie, obcinanie lub maskowanie) nie mogą być wykonane przez procesor GPU, są realizowane programowo. W przypadku stosowania tych trybów firma Adobe zaleca odtwarzanie nie więcej niż jednego pliku SWF na stronie HTML. Ponadto nie zaleca się stosowania tych trybów w banerach. Funkcja Testuj film w programie Flash nie korzysta z przyspieszania sprzętowego, ale możliwe jest przetestowanie przyspieszania za pomocą opcji podglądu publikacji.

Ustawianie w pliku SWF częstości klatek wyższej niż 60, tj. maksymalna częstotliwość odświeżania ekranu, jest bezcelowe. Ustawienie częstości klatek na poziomie od 50 do 55 dopuszcza pomijanie klatek, do którego z różnych przyczyn zawsze dochodzi.

Do korzystania z trybu bezpośredniego wymagana jest obsługa standardu Microsoft DirectX 9 z pamięcią VRAM o rozmiarze co najmniej 128 MB w systemie Windows albo obsługa standardu OpenGL na komputerze Apple Macintosh z systemem Mac OS X w wersji 10.2 lub wyższej. Kompozycja wspomagana przez GPU wymaga obsługi standardu Microsoft DirectX 9 i modułu Pixel Shader 2.0 w systemach Windows z co najmniej 128 MB pamięci VRAM. W systemach Max OS X i Linux kompozycja wspomagana przez GPU wymaga obsługi standardu OpenGL 1.5 i kilku rozszerzeń OpenGL (obiektu buforu klatek, multitekstur, obiektów cieniujących, języka cieniowania, modułu cieniującego fragmenty).

Tryby przyspieszania direct i gpu można włączać dla każdego pliku SWF z osobna w oknie Ustawienia publikowania w programie Flash, w menu przyspieszania sprzętowego na karcie Flash. W wypadku wybrania opcji Brak przywracany jest tryb okna default , transparent lub opaque , zgodnie z ustawieniem trybu okna na karcie HTML.