GPU-Rendering in mobilen AIR-Anwendungen

Aktivieren Sie die Hardwaregrafikbeschleunigung in AIR-Anwendungen, in dem Sie <renderMode>gpu</renderMode> in den Anwendungsdeskriptor aufnehmen. Sie können den Rendermodus zur Laufzeit nicht ändern. Auf Desktopcomputern wird die Einstellung für renderMode ignoriert; die GPU-Grafikbeschleunigung wird zurzeit nicht unterstützt.

Einschränkungen beim GPU-Rendering

Die folgenden Einschränkungen gelten, wenn der GPU-Rendermodus in AIR 2.5 verwendet wird:

  • Wenn die GPU ein Objekt nicht rendern kann, wird es überhaupt nicht angezeigt. Das CPU-Rendering wird nicht als Fallback verwendet.

  • Die folgenden Mischmodi werden nicht unterstützt: Ebene, Alpha, Löschen, Überlagern, Hartes Licht, Aufhellen und Abdunkeln.

  • Filter werden nicht unterstützt.

  • PixelBender wird nicht unterstützt.

  • Viele GPUs haben eine maximale Texturgröße von 1024x1024. In ActionScript bezieht sich dies auf die maximal zulässige endgültig gerenderte Größe eines Anzeigeobjekts, nachdem alle Transformationen angewendet wurden.

  • Adobe empfiehlt, das GPU-Rendering für AIR-Anwendungen, die Video abspielen, nicht zu verwenden.

  • Beim GPU-Rendering werden Textfelder nicht immer auf eine sichtbare Position verschoben, wenn die virtuelle Tastatur geöffnet wird. Verwenden Sie eine der folgenden Möglichkeiten, um sicherzustellen, dass Ihr Textfeld sichtbar ist, wenn der Benutzer Text eingibt. Platzieren Sie das Textfeld in der oberen Hälfte des Bildschirms oder verschieben Sie es in die obere Hälfte des Bildschirms, wenn das Textfeld den Fokus erhält.

  • Das GPU-Rendering ist bei einigen Geräten, auf denen dieser Modus nicht zuverlässig funktioniert, deaktiviert. Die neuesten Informationen hierzu finden Sie in den AIR-Versionshinweisen für Entwickler.

Bewährte Verfahren für das GPU-Rendering

Die folgenden Tipps können das GPU-Rendern beschleunigen:

  • Halten Sie die Anzahl der sichtbaren Elemente auf der Bühne möglichst gering. Jedes Element braucht Zeit für die Darstellung und die Zusammensetzung mit den umgebenden Objekten. Wenn ein Anzeigeobjekt nicht mehr angezeigt werden soll, stellen Sie seine visible -Eigenschaft auf false ein. Sie sollten es nicht einfach von der Bühne verschieben, hinter einem anderen Objekt verstecken oder seine alpha -Eigenschaft auf 0 setzen. Wenn das Anzeigeobjekt gar nicht mehr benötigt wird, entfernen Sie es mithilfe von removeChild() von der Bühne.

  • Anstatt Objekte zu erstellen und zu löschen, sollten Sie sie wiederverwenden.

  • Erstellen Sie Bitmaps mit Größen, die kleiner als 2 n mal 2 m Bit sind, aber diese Werte fast erreichen. Die Abmessungen müssen keine genauen Zweierpotenzen sein, aber sie sollten nahe an einer Zweierpotenz sein, jedoch nicht größer. Zum Beispiel wird ein Bild der Größe 31 x 15 Pixel schneller dargestellt als ein Bild der Größe 33 x 17. (31 und 15 sind knapp kleiner als die Zweierpotenzen 32 bzw. 16.)

  • Setzen Sie den repeat-Parameter nach Möglichkeit auf false, wenn Sie die Graphic.beginBitmapFill() -Methode aufrufen.

  • Weniger ist mehr. Verwenden Sie die Hintergrundfarbe als Hintergrund. Legen Sie große Formen nicht übereinander ab. Jedes einzelne Pixel, das gezeichnet werden muss, hat seinen Preis.

  • Vermeiden Sie Formen mit langen, dünnen Zacken, sich selbst schneidenden Rändern oder zahlreichen feinen Details an den Rändern. Diese Formen werden langsamer dargestellt als Formen mit glatten Rändern.

  • Vermeiden Sie zu große Anzeigeobjekte.

  • Aktivieren Sie cacheAsBitMap und cacheAsBitmapMatrix für Anzeigeobjekte, deren Grafiken nicht oft aktualisiert werden.

  • Vermeiden Sie die Verwendung der ActionScript-Zeichnungs-API (die Graphics-Klasse) beim Erstellen von Grafiken. Erstellen Sie diese Objekte nach Möglichkeit statisch beim Authoring.

  • Skalieren Sie Bitmapbestände vor dem Importieren auf die endgültige Größe.

GPU-Rendering in mobilen AIR 2.0.3-Anwendungen

Das GPU-Rendering ist in mobilen AIR-Anwendungen, die mit dem Packager for iPhone erstellt werden, restriktiver. Die GPU wird nur für Bitmaps, durchgehende Formen und Anzeigeobjekte mit der cacheAsBitmap -Eigenschaft verwendet. Bei Objekten, für die cacheAsBitmap und cacheAsBitmapMatrix eingestellt sind, kann die GPU auch Objekte rendern, die gedreht oder skaliert werden. Die GPU wird in Reihe mit anderen Anzeigeobjekten verwendet, was im Allgemeinen zu einer schlechteren Renderleistung führt.