Festlegen der Stage-Eigenschaften

Flash Player 9 und höher, Adobe AIR 1.0 und höher

Die Stage-Klasse überschreibt die meisten Eigenschaften und Methoden der DisplayObject-Klasse. Wenn Sie eine diese überschriebenen Eigenschaften oder Methoden aufrufen, lösen Flash Player und AIR eine Ausnahme aus. Beispielsweise hat das Stage-Objekt keine x - oder y -Eigenschaften, da seine Position im Hauptcontainer der Anwendung festgelegt ist. Die x - und y -Eigenschaften beziehen sich auf die Position eines Anzeigeobjekts relativ zu seinem Container, und da die Bühne in keinem anderen Anzeigeobjektcontainer enthalten ist, treffen diese Eigenschaften nicht zu.

Hinweis: Einige Eigenschaften und Methoden der Stage-Klasse stehen nur Anzeigeobjekten zur Verfügung, die sich in der gleichen Sicherheits-Sandbox wie die erste geladene SWF-Datei befinden. Nähere Einzelheiten finden Sie unter Sicherheit der Bühne .

Einstellen der Wiedergabebildrate

Die frameRate -Eigenschaft der Stage-Klasse dient zum Einstellen der Bildrate für alle SWF-Dateien, die in die Anwendung geladen werden. Weitere Informationen finden Sie im ActionScript 3.0-Referenzhandbuch für die Adobe Flash-Plattform .

Steuern der Bühnenskalierung

Wenn eine Größenänderung an dem Teil des Bildschirms, der Flash Player oder AIR darstellt, durchgeführt wird, wird der Bühneninhalt von der Laufzeitumgebung automatisch angepasst. Die scaleMode -Eigenschaft der Stage-Klasse legt fest, wie der Bühneninhalt angepasst wird. Für diese Eigenschaft können vier verschiedene Werte festgelegt werden, die als Konstanten in der flash.display.StageScaleMode-Klasse definiert sind:

  • StageScaleMode.EXACT_FIT skaliert die SWF so, dass sie die Bühne mit den neuen Abmessungen ausfüllt. Das ursprüngliche Seitenverhältnis des Inhalts wird dabei nicht berücksichtigt. Die Skalierungsfaktoren sind für Breite und Höhe möglicherweise nicht identisch; deshalb kann der Inhalt gestaucht oder gedehnt aussehen, wenn das Seitenverhältnis der Bühne geändert wird.

  • StageScaleMode.SHOW_ALL skaliert die SWF so, dass sie vollständig in die neuen Abmessungen der Bühne passt. Das Seitenverhältnis des Inhalts wird dabei nicht geändert. In diesem Skalierungsmodus wird zwar der ganze Inhalt angezeigt, es können jedoch Letterbox-Ränder entstehen, wie die schwarzen Ränder beim Betrachten eines Films im Breitbildformat auf einem Standardfernseher.

  • StageScaleMode.NO_BORDER skaliert die SWF so, dass sie die Bühne mit den neuen Abmessungen vollständig ausfüllt. Das Seitenverhältnis des Inhalts wird dabei nicht geändert. Bei diesem Skalierungsmodus wird der Anzeigebereich der Bühne voll ausgenutzt, das Bild kann jedoch abgeschnitten werden.

  • StageScaleMode.NO_SCALE skaliert die SWF nicht. Wenn die neuen Abmessungen der Bühne kleiner sind, wird der Inhalt abgeschnitten. Sind die neuen Abmessungen größer, ist der zusätzliche Platz leer.

    Nur im StageScaleMode.NO_SCALE -Skalierungsmodus können die Eigenschaften stageWidth und stageHeight der Stage-Klasse verwendet werden, um die tatsächlichen Abmessungen (in Pixel) der Bühne nach der Größenänderung zu ermitteln. (In den anderen Skalierungsmodi geben die Eigenschaften stageWidth und stageHeight immer die ursprüngliche Breite und Höhe der SWF-Datei an.) Wenn scaleMode den Wert StageScaleMode.NO_SCALE aufweist, wird zusätzlich bei Größenänderungen der SWF-Datei das resize -Ereignis der Stage-Klasse ausgelöst, um entsprechende Anpassungen zu ermöglichen.

    Infolgedessen haben Sie im Modus StageScaleMode.NO_SCALE für scaleMode bei Bedarf eine größere Kontrolle darüber, wie Bildschirminhalte an Fenster angepasst werden, deren Größe sich geändert hat. Beispielsweise empfiehlt es sich für eine SWF-Datei mit einem Video und einer Steuerungsleiste, dass die Größe der Steuerungsleiste nach einer Größenänderung der Bühne gleich bleibt und nur die Größe des Videofensters an die geänderte Größe der Bühne angepasst wird. Dies wird im folgenden Beispiel veranschaulicht:

    // 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; 
    }

Festlegen des Skalierungsmodus für die Bühne in AIR-Fenstern

Die scaleMode -Eigenschaft der Bühne bestimmt, wie die Bühne skaliert wird, und schneidet untergeordnete Anzeigeobjekte zu, wenn die Größe eines Fensters geändert wird. Nur der noScale -Modus sollte in AIR verwendet werden. In diesem Modus wird die Bühne nicht skaliert. Stattdessen ändert sich die Bühnengröße direkt mit den Fenstergrenzen. Wenn das Fenster verkleinert wird, werden Objekte möglicherweise entsprechend zugeschnitten.

Die Skalierungsmodi für die Bühne sind für Umgebungen vorgesehen, in denen Sie nicht immer Kontrolle über die Größe oder das Seitenverhältnis der Bühne haben, beispielsweise in einem Webbrowser. Mit diesen Modi können Sie den optimalen Kompromiss auswählen, wenn die Bühne nicht der idealen Größe oder dem idealen Seitenverhältnis der Anwendung entspricht. In AIR können Sie die Bühne immer steuern. Deshalb erzielen Sie in den meisten Fällen bessere Ergebnisse, wenn Sie das Layout des Inhalts ändern oder die Fensterabmessungen anpassen, als wenn Sie die Bühnenskalierung aktivieren.

Im Browser und für das anfängliche AIR-Fenster wird die Beziehung zwischen der Fenstergröße und dem anfänglichen Skalierungsfaktor aus der geladenen SWF-Datei gelesen. Wenn Sie jedoch ein NativeWindow-Objekt erstellen, wählt AIR eine zufällige Beziehung zwischen der Fenstergröße und dem Skalierungsfaktor von 72:1. Wenn Ihr Fenster eine Größe von 72 x 72 Pixel hat, wird deshalb ein 10 x 10 großes Rechteck mit der richtigen Größe von 10 x 10 Pixeln um das Fenster gezeichnet. Hat das Fenster dagegen eine Größe von 144 x 144 Pixeln, wird ein 10 x 10 Pixel großes Rechteck auf 20 x 20 Pixel skaliert. Wenn Sie als scaleMode unbedingt einen anderen Modus als noScale für eine Fensterbühne verwenden möchten, können Sie dies ausgleichen, indem Sie den Skalierungsfaktor für Anzeigeobjekte im Fenster auf ein Verhältnis von 72 Pixel relativ zur aktuellen Breite und Höhe der Bühne einstellen. Mit dem folgenden Code wird beispielsweise der erforderliche Skalierungsfaktor für ein Anzeigeobjekt namens client berechnet:

if(newWindow.stage.scaleMode != StageScaleMode.NO_SCALE){ 
client.scaleX = 72/newWindow.stage.stageWidth; 
client.scaleY = 72/newWindow.stage.stageHeight; 
}
Hinweis: Für Flex- und HTML-Fenster wird scaleMode für die Bühne automatisch auf noScale eingestellt. Eine Änderung von scaleMode behindert die automatischen Layoutmechanismen, die in diesen Fenstertypen verwendet werden.

Verwenden des Vollbildmodus

Im Vollbildmodus können Sie die Bühne eines Movies so einrichten, dass sie den gesamten Monitor eines Benutzers füllt und keine Containerrahmen oder Menüs angezeigt werden. Mit der Eigenschaft displayState der Stage-Klasse wird der Vollbildmodus für eine SWF-Datei aktiviert bzw. deaktiviert. Die Eigenschaft displayState kann auf einen der Werte eingestellt werden, die durch die Konstanten in der flash.display.StageDisplayState-Klasse definiert sind. Um in den Vollbildmodus zu wechseln, setzen Sie die displayState -Eigenschaft auf StageDisplayState.FULL_SCREEN :

stage.displayState = StageDisplayState.FULL_SCREEN; 

Um den interaktiven Vollbildmodus (neu in Flash Player 11.3) einzuschalten, stellen Sie die displayState -Eigenschaft auf StageDisplayState.FULL_SCREEN_INTERACTIVE ein:

stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 

In Flash Player kann der Vollbildmodus durch ActionScript nur als Reaktion auf einen Mausklick (einschließlich Rechtsklick) oder einen Tastenanschlag initiiert werden. Bei AIR-Inhalt, der in der Sicherheits-Sandbox der Anwendung ausgeführt wird, muss der Vollbildmodus nicht als Reaktion auf eine Benutzeraktion aufgerufen werden.

Um den Vollbildmodus zu beenden, setzen Sie displayState auf StageDisplayState.NORMAL .

stage.displayState = StageDisplayState.NORMAL; 

Darüber hinaus kann ein Benutzer den Vollbildmodus beenden, indem er den Fokus auf ein anderes Fenster setzt oder einen der folgenden Tastaturbefehle verwendet: Esc-Taste (alle Plattformen), Strg-W (Windows), Befehl-W (Mac) oder Alt-F4 (Windows).

Aktivieren des Vollbildmodus in Flash Player

Um den Vollbildmodus für eine SWF-Datei zu aktivieren, die in eine HTML-Seite eingebettet ist, muss der HTML-Code zum Einbetten von Flash Player ein param -Tag und ein embed -Attribut mit dem Namen allowFullScreen und dem Wert true enthalten. Beispiel:

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

Wählen Sie in der Flash-Authoring-Umgebung „Datei“ > „Einstellungen für Veröffentlichungen“ und im Dialogfeld „Einstellungen für Veröffentlichungen“ auf der Registerkarte „HTML“ die Vorlage „Nur Flash - Vollbild zulassen“.

Stellen Sie in Flex sicher, dass die HTML-Vorlage <object> - und <embed> -Tags enthält, die den Vollbildmodus unterstützen.

Wenn Sie JavaScript in einer Webseite verwenden, um die SWF-eingebetteten Tags zu erzeugen, müssen Sie den JavaScript-Code ändern, um das Tag und das Attribut für den allowFullScreen -Parameter hinzuzufügen. Wenn Ihre HTML-Seite z. B. die AC_FL_RunContent() -Funktion verwendet (die in von Flash Professional und Flash Builder generierten HTML-Seiten verwendet wird), müssen Sie den allowFullScreen -Parameter wie folgt zum Funktionsaufruf hinzufügen:

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

Dies gilt nicht für SWF-Dateien, die im eigenständigen Flash Player ausgeführt werden.

Hinweis: Wenn Sie den Fenstermodus („wmode“ in HTML) auf „Undurchsichtig ohne Fenster“ (opaque) oder „Durchsichtig ohne Fenster“ (transparent) einstellen, ist der Vollbildmodus immer undurchsichtig

Es gibt auch sicherheitsbezogene Einschränkungen für die Verwendung des Vollbildmodus mit Flash Player in einem Browser. Diese Einschränkungen werden unter Sicherheit beschrieben.

Aktivieren des interaktiven Vollbildmodus in Flash Player 11.3 und höher

Flash Player 11.3 und höher unterstützt den interaktiven Vollbildmodus, in dem alle Tasten der Tastatur unterstützt werden mit Ausnahme von Esc , womit der interaktive Vollbildmodus beendet wird. Der interaktive Vollbildmodus ist hilfreich beim Gaming (zum Beispiel, um in einem Multiplayer-Spiel zu chatten, oder für WASD-Tastatursteuerung in einem Egoshooter).

Um den interaktiven Vollbildmodus für eine SWF-Datei zu aktivieren, die in eine HTML-Seite eingebettet ist, muss der HTML-Code zum Einbetten von Flash Player ein param -Tag und ein embed -Attribut mit dem Namen allowFullScreenInteractive und dem Wert true enthalten. Beispiel:

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

Wählen Sie in der Flash-Authoring-Umgebung „Datei“ > „Einstellungen für Veröffentlichungen“ und im Dialogfeld „Einstellungen für Veröffentlichungen“ auf der Registerkarte „HTML“ die Vorlage „Nur Flash - Interaktives Vollbild zulassen“.

Stellen Sie in Flash Builder und Flex sicher, dass die HTML-Vorlagen die Tags <object> und <embed> enthalten, die den interaktiven Vollbildmodus unterstützen.

Wenn Sie JavaScript in einer Webseite verwenden, um die SWF-eingebetteten Tags zu erzeugen, müssen Sie den JavaScript-Code ändern, um das Tag und das Attribut für den allowFullScreenInteractive -Parameter hinzuzufügen. Wenn Ihre HTML-Seite z. B. die AC_FL_RunContent() -Funktion verwendet (die in von Flash Professional und Flash Builder generierten HTML-Seiten verwendet wird), müssen Sie den allowFullScreenInteractive -Parameter wie folgt zum Funktionsaufruf hinzufügen:

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

Dies gilt nicht für SWF-Dateien, die im eigenständigen Flash Player ausgeführt werden.

Vollbild-Bühnengröße und Skalierung

Die Eigenschaften Stage.fullScreenHeight und Stage.fullScreenWidth geben die Höhe und die Breite des Monitors zurück, der für den Vollbildmodus verwendet wird, sofern dieser Status sofort aufgerufen wird. Diese Werte können falsch sein, wenn der Benutzer die Möglichkeit hat, den Browser von einem Monitor zu einem anderen zu bewegen, nachdem Sie diese Werte abgerufen haben, aber bevor Sie in den Vollbildmodus gewechselt sind. Wenn Sie diese Werte in derselben Ereignisprozedur abrufen, in der Sie die Stage.displayState -Eigenschaft auf StageDisplayState.FULL_SCREEN eingestellt haben, sind diese Werte korrekt. Wenn der Benutzer über mehrere Monitore verfügt, wird ein Monitor mit dem SWF-Inhalt ausgefüllt . Flash Player und AIR ermitteln über eine Metrik, welcher Monitor den größten Teil der SWF-Datei anzeigt, und verwenden diesen Monitor dann für den Vollbildmodus. Die fullScreenHeight- und fullScreenWidth-Eigenschaften beziehen sich nur auf die Größe des Monitors, der für den Vollbildmodus verwendet wird. Weitere Informationen finden Sie unter Stage.fullScreenHeight und Stage.fullScreenWidth im ActionScript 3.0-Referenzhandbuch für die Adobe Flash-Plattform .

Das Skalierungsverhalten der Bühne im Vollbildmodus entspricht dem im normalen Modus; die Skalierung wird durch die Eigenschaft scaleMode der Stage-Klasse geregelt. Wenn die scaleMode -Eigenschaft auf StageScaleMode.NO_SCALE eingestellt wird, ändern sich die Eigenschaften stageWidth und stageHeight der Bühne und geben die Größe des Bildschirmbereichs an, der von der SWF-Datei belegt wird (in diesem Fall der gesamte Bildschirm); bei Anzeige im Browser wird die Einstellung vom HTML-Parameter für diesen gesteuert.

Sie können das fullScreen -Ereignis der Stage-Klasse verwenden, um das Aktivieren oder Deaktivieren des Vollbildmodus zu erkennen und darauf zu reagieren. Beispielsweise möchten Sie beim Aktivieren oder Deaktivieren des Vollbildmodus Objekte auf dem Bildschirm neu positionieren, hinzufügen oder entfernen. Dies wird im folgenden Beispiel gezeigt:

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);

Wie dieser Code zeigt, ist das Ereignisobjekt für das fullScreen -Ereignis eine Instanz der flash.events.FullScreenEvent-Klasse, die eine fullScreen -Eigenschaft enthält, mit der angegeben wird, ob der Vollbildmodus aktiviert ( true ) oder deaktiviert ( false ) ist.

Tastaturunterstützung im Vollbildmodus

Wenn Flash Player in einem Browser ausgeführt wird, ist im Vollbildmodus der gesamte tastaturbezogene ActionScript-Code, zum Beispiel Tastaturereignisse und Texteingaben in TextField-Instanzen, deaktiviert. Es gibt folgende Ausnahmen (Tasten, die aktiviert sind):

  • Bestimmte Tasten für nichtdruckbare Zeichen, speziell die Pfeiltasten, die Leertaste und die Tabulatortaste

  • Tastaturbefehle, die den Vollbildmodus beenden: Esc (Windows und Mac), Strg-W (Windows), Befehl-W (Mac) und Alt-F4

Diese Einschränkungen gelten nicht für SWF-Inhalt, der im eigenständigen Flash Player oder in AIR ausgeführt wird. AIR unterstützt einen interaktiven Vollbildmodus, der Tastatureingaben zulässt.

Mausunterstützung im Vollbildmodus

Standardmäßig funktionieren Mausereignisse im Vollbildmodus genauso wie im Fenstermodus. Im Vollbildmodus können Sie jedoch optional die Stage.mouseLock -Eigenschaft festlegen, um die Maussperre zu aktivieren. Bei einer Maussperre ist der Cursor deaktiviert und unbegrenzte Mausbewegungen sind möglich.

Hinweis: Sie können die Maussperre nur für Desktopanwendungen im Vollbildmodus aktivieren. Wenn Sie sie für Anwendungen, die nicht im Vollbildmodus ausgeführt werden, oder für Anwendungen auf mobilen Geräten festlegen, wird eine Ausnahme ausgegeben.

Unter den folgenden Bedingungen wird die Maussperre automatisch deaktiviert und der Mauscursor ist wieder sichtbar:

  • Der Benutzer beendet den Vollbildmodus, indem er die Escape-Taste drückt (alle Plattformen) oder eine der folgenden Tastenkombinationen verwendet: Strg+W (Windows), Befehl+W (Mac) oder Alt-F4 (Windows).

  • Das Anwendungsfenster verliert den Fokus.

  • Ein Element der Einstellungsbenutzeroberfläche ist sichtbar, zum Beispiel ein Datenschutzdialogfeld.

  • Ein natives Dialogfeld wird angezeigt, zum Beispiel beim Hochladen einer Datei.

Ereignisse, die mit Mausbewegung verknüpft sind, zum Beispiel das mouseMove -Ereignis, verwenden die MouseEvent-Klasse, um das Ereignisobjekt darzustellen. Wenn die Maussperre deaktiviert ist, verwenden Sie die MouseEvent.localX - und die MouseEvent.localY -Eigenschaft, um die Position der Maus zu bestimmen. Wenn die Maussperre aktiviert ist, verwenden Sie die MouseEvent.movementX - und die MouseEvent.movementY -Eigenschaft, um die Position der Maus zu bestimmen. Die Eigenschaften movementX und movementY enthalten Änderungen an der Position der Maus seit dem letzten Ereignis anstelle absoluter Koordinaten für die Mausposition.

Hardwareskalierung im Vollbildmodus

Mit der fullScreenSourceRect -Eigenschaft der Stage-Klasse können Sie Flash Player oder AIR so konfigurieren, dass ein bestimmter Bereich der Bühne in den Vollbildmodus skaliert wird. Flash Player und AIR skalieren mit der Hardware, falls verfügbar, und verwenden die Grafikkarte des Benutzercomputers, wodurch Inhalte normalerweise schneller als mit Softwareskalierung angezeigt.

Um die Vorteile der Hardwareskalierung zu nutzen, setzen Sie die gesamte Bühne oder einen Teil der Bühne in den Vollbildmodus. Im folgenden ActionScript 3.0-Code wird die gesamte Bühne in den Vollbildmodus gesetzt:

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

Wenn diese Eigenschaft auf ein gültiges Rechteck und die Eigenschaft displayState auf den Vollbildmodus gesetzt wird, skalieren Flash Player und AIR den angegebenen Bereich. Die tatsächliche Größe der Bühne in Pixel innerhalb von ActionScript wird nicht geändert. Flash Player und AIR erzwingen eine Mindestgröße des Rechtecks, damit die standardmäßige Meldung „Vollbildmodus mit Esc beenden“ darin Platz findet. Diese Mindestgröße beträgt normalerweise ca. 260 x 30 Pixel, kann jedoch je nach Plattform und Flash Player-Version variieren.

Die fullScreenSourceRect -Eigenschaft kann nur festgelegt werden, wenn sich Flash Player bzw. AIR nicht im Vollbildmodus befindet. Um diese Eigenschaft korrekt zu verwenden, stellen Sie diese Eigenschaft zuerst ein und stellen Sie dann die displayState -Eigenschaft auf den Vollbildmodus ein.

Um die Skalierung zu aktivieren, legen Sie die Eigenschaft fullScreenSourceRect auf ein Rechteckobjekt fest.

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

Zum Deaktivieren der Skalierung setzen Sie die fullScreenSourceRect -Eigenschaft auf null .

stage.fullScreenSourceRect = null;

Um alle Hardwarebeschleunigungsfunktionen mit Flash Player zu nutzen, aktivieren Sie sie über das Dialogfeld „Flash Player-Einstellungen“. Dieses Dialogfeld laden Sie, indem Sie mit der rechten Maustaste (Windows) oder bei gedrückter Ctrl-Taste (Mac) im Browser auf Flash Player-Inhalt klicken. Wählen Sie die Registerkarte „Anzeige“ und aktivieren Sie das Kontrollkästchen „Hardwarebeschleunigung aktivieren“.

Direkt- und GPU-Compositing-Fenstermodi

Flash Player 10 führt zwei Fenstermodi ein, „Direkt“ und „GPU-Compositing“, die Sie mithilfe der Veröffentlichungseinstellungen im Flash-Authoring-Tool aktivieren können. Diese Modi werden in AIR nicht unterstützt. Um diese Modi zu nutzen, müssen Sie die Hardwarebeschleunigung für Flash Player aktivieren.

Im Direktmodus werden Grafiken auf dem schnellsten, direktesten Pfad auf den Bildschirm gebracht, was bei der Videowiedergabe vorteilhaft ist.

Im GPU-Compositing-Modus wird das Compositing mithilfe der Graphikverarbeitungseinheit (Graphics Processing Unit, GPU) auf der Grafikkarte beschleunigt. Bei Video-Compositing handelt es sich um das Verfahren, bei dem mehrere Bilder übereinandergeschichtet werden, um ein Videobild zu erstellen. Durch die Beschleunigung des Compositing mithilfe der GPU kann die Leistung bei der YUV- Konvertierung, Farbkorrektur, Drehung, Skalierung und Mischung verbessert werden. YUV-Konvertierung verweist auf die Farbkonvertierung von zusammengesetzten, bei der Übertragung verwendeten Analogsignalen in das RGB-Farbmodell (rot, grün, blau), das von Videokameras und Bildschirmen verwendet wird. Durch die Beschleunigung des Compositing mithilfe der GPU werden die Speicher- und Rechenanforderungen verringert, die andernfalls an die CPU gestellt würden. Außerdem führt sie zu einer glatteren Wiedergabe von standardmäßigen Videos.

Gehen Sie bei der Implementierung dieser Fenstermodi vorsichtig vor. Das GPU-Compositing kann hohe Ansprüche an die Speicher- und CPU-Ressourcen stellen. Wenn Vorgänge (wie z. B. Mischmodi, Filtern, Zuschneiden oder Maskieren) nicht in der GPU ausgeführt werden können, müssen sie von der Software ausgeführt werden. Adobe empfiehlt, sich bei Verwendung dieser Modi auf eine SWF-Datei pro HTML-Seite zu beschränken, und rät davon ab, diese Modi für Banner zu aktivieren. Die Funktion „Film testen“ von Flash setzt keine Hardwarebeschleunigung ein, Sie können Sie aber über die Option „Vorschau für Veröffentlichungen“ verwenden.

Wenn Sie in der SWF-Datei eine Bildrate von über 60 einstellen, ist die maximale Aktualisierungsrate des Bildschirms nutzlos. Bei einer Bildrate zwischen 50 und 55 werden übersprungene Bilder in Betracht gezogen, die hin und wieder aus verschiedenen Gründen auftreten können.

Für den Direktmodus ist Microsoft DirectX 9 mit 128 MB VRAM unter Windows bzw. OpenGL unter Apple Macintosh, Mac OS X v10.2 oder höher erforderlich. Für das GPU-Compositing ist Microsoft DirectX 9 und Pixel Shader 2.0-Unterstützung unter Windows mit 128 MB VRAM erforderlich. Unter Mac OS X und Linux sind für das GPU-Compositing OpenGL 1.5 sowie mehrere OpenGL-Erweiterungen erforderlich (Framebuffer-Objekt, Multitexture, Shader-Objekte, Shading Language, Fragment-Shader).

Sie können die Beschleunigungsmodi direct und gpu für einzelne SWF-Dateien aktivieren. Klicken Sie dazu im Dialogfeld „Einstellungen für Veröffentlichungen“ auf die Registerkarte „Flash“ und rufen Sie hier das Menü „Hardwarebeschleunigung“ auf. Wenn Sie „Keine“ auswählen, wird der Fenstermodus auf die entsprechende Einstellung in der Registerkarte „HTML“ zurückgesetzt, d. h. default , transparent oder opaque.