Nutzen von MIP-Mapping

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

MIP-Maps (auch als MipMaps bezeichnet) sind Bitmaps, die gruppiert und mit einer Textur verknüpft sind, um die Darstellungsqualität und -leistung zur Laufzeit zu erhöhen. Jedes Bitmapbild in der MIP-Map ist eine Version des Hauptbitmapbilds, allerdings mit weniger Details als das Hauptbild.

Beispiel: Sie haben eine MIP-Map, die ein Hauptbild mit der höchsten Qualität von 64 x 64 Pixel enthält. Bilder mit geringerer Qualität in der MIP-Map haben die Auflösungen 32 × 32, 16 × 16, 8 × 8, 4 × 4, 2 × 2 und 1 × 1 Pixel.

Texturstreaming ist die Möglichkeit, die Bitmap mit der niedrigsten Qualität zuerst zu laden und dann progressiv Bitmaps mit höherer Qualität zu laden. Da die Bitmaps mit geringerer Qualität kleiner sind, werden sie schneller geladen als das Hauptbild. Deshalb können die Benutzer der Anwendung bereits ein Bild sehen, bevor die Hauptbitmap mit der hohen Qualität geladen wird.

Flash Player 9.115.0 und höhere Versionen sowie AIR implementieren diese Technologie (das Verfahren wird als Mip-Mapping bezeichnet), indem von jeder Bitmap optimierte Versionen mit unterschiedlicher Skalierung (beginnend bei 50 %) erstellt werden.

Flash Player 11.3 und AIR 3.3 unterstützen Texturstreaming mit dem streamingLevels -Parameter der Methoden Context3D.createCubeTexture() und Context3D.createTexture() .

Mithilfe der Texturkomprimierung können Sie Texturbilder im komprimierten Format direkt auf der GPU speichern, wodurch GPU-Speicher und Speicherbrandbreite eingespart werden können. Normalerweise werden komprimierte Texturen offline komprimiert und im komprimierten Format auf die GPU geladen. Flash Player 11.4 und AIR 3.4 unterstützen jedoch die Texturkomprimierung zur Laufzeit. Dies ist in bestimmten Situationen hilfreich, zum Beispiel beim Rendern dynamischer Texturen aus Vektorgrafiken. Führen Sie die folgenden Schritte aus, um die Texturkomprimierung zur Laufzeit zu verwenden:

  • Erstellen Sie das Texturobjekt, indem Sie die Context3D.createTexture() -Methode aufrufen und dabei entweder flash.display3D.Context3DTextureFormat.COMPRESSED oder flash.display3D.Context3DTextureFormat.COMPRESSED_ALPHA im dritten Parameter übergeben.

  • Verwenden Sie die flash.display3D.textures.Texture -Instanz, die vom createTexture() -Aufruf zurückgegeben wird, um entweder flash.display3D.textures.Texture.uploadFromBitmapData() oder flash.display3D.textures.Texture.uploadFromByteArray() aufzurufen. Mit diesen Methoden wird die Textur in einem Schritt hochgeladen und komprimiert.

MIP-Maps werden für die folgenden Bitmap-Typen erstellt:

  • Bitmaps (JPEG-, GIF- oder PNG-Dateien), die mithilfe der ActionScript 3.0 Loader-Klasse angezeigt werden

  • Bitmaps in der Bibliothek eines Flash Professional-Dokuments

  • BitmapData-Objekte

  • Bitmaps, die mithilfe der ActionScript 2.0 loadMovie() -Funktion angezeigt werden

MIP-Maps werden nicht auf gefilterte Objekte oder in Bitmaps zwischengespeicherte Movieclips angewendet. MIP-Maps werden jedoch angewendet, wenn Bitmaptransformationen in einem gefilterten Anzeigeobjekt vorliegen, selbst wenn die Bitmap in maskiertem Inhalt enthalten ist.

Das MIP-Mapping erfolgt automatisch, es gibt jedoch einige Richtlinien, durch deren Einhaltung Sie sicherstellen können, dass Ihre Bilder diese Optimierung nutzen:

  • Stellen Sie für die Videowiedergabe die smoothing -Eigenschaft für das Video-Objekt auf true (siehe Abschnitt über die Video-Klasse).

  • Für Bitmaps muss die smoothing -Eigenschaft nicht auf true eingestellt werden, die Qualitätsverbesserungen sind jedoch deutlicher sichtbar, wenn Bitmaps geglättet werden.

  • Verwenden Sie für zweidimensionale Bilder Bitmapgrößen, die durch 4 oder 8 teilbar sind (z. B. 640 x 128; dieser Wert kann wie folgt verringert werden: 320 x 64 > 160 x 32 > 80 x 16 > 40 x 8 > 20 x 4 > 10 x  > 5 x 1).

    Verwenden Sie für dreidimensionale Texturen MIP-Maps, bei denen jedes Bild eine Auflösung hat, die eine Potenz von 2 ist (2^n). Beispiel: Das Hauptbild hat eine Auflösung von 1024 x 1024 Pixel. Die Bilder mit niedrigerer Auflösung in der MIP-Map haben dann eine Auflösung von 512 x 512, 256 x 256, 128 x 128 bis zu 1 x 1 Pixel bei einer Gesamtzahl von 11 Bildern in der MIP-Map.

    Beachten Sie, dass Mipmapping nicht bei Bitmap-Inhalten mit einer extremen Breite oder Höhe erfolgt.