Mipmap oluşturma avantajından yararlanma

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

MIP eşlemler ( mipmap'ler olarak da bilinir), çalışma zamanı oluşturma kalitesini ve performansını artırmak için gruplanmış ve bir doku ile ilişkilendirilmiş bitmap'lerdir. MIP eşlemindeki her bir bitmap görüntüsü, ana bitmap görüntüsünün bir sürümüdür ancak ana görüntüden küçük bir ayrıntı düzeyindedir.

Örneğin, en yüksek kalitede 64 × 64 piksel bir ana görüntü içeren MIP eşlemine sahip olabilirsiniz. MIP eşlemindeki daha düşük kaliteye sahip görüntüler şu şekilde olur: 32 × 32, 16 × 16, 8 × 8, 4 × 4, 2 × 2 ve 1 × 1 piksel.

Doku akışı , öncelikle en düşük kalitedeki bitmap'i yükleme ve ardından bitmap'ler yüklenirken daha yüksek kalitedeki bitmap'leri aşamalı olarak görüntüleme yeteneğidir. Daha düşük kalitedeki bitmap'ler küçük olduğundan ana görüntüden daha hızlı yüklenirler. Bu nedenle, uygulama kullanıcıları ana, yüksek kalitedeki bitmap yüklenmeden önce bir uygulamada görüntü görüntüleyebilirler.

Flash Player 9.115.0 ve sonraki sürümleri ve AIR her bir bitmap'in farklı ölçeklerinin en iyileştirilmiş sürümlerini oluşturarak (%50'den başlayarak) bu teknolojiyi uygular. (Bu işleme mipmap oluşturma adı verilir.)

Flash Player 11.3 ve AIR 3.3, Context3D.createCubeTexture() ve Context3D.createTexture() yöntemlerinin streamingLevels parametresi aracılığıyla doku akışını destekler.

Doku sıkıştırma, doku görüntülerini doğrudan GPU üzerinde sıkıştırılmış biçimde saklamanıza izin verir. Bu, GPU belleğinden ve bellek bant genişliğinden tasarruf edilmesini sağlar. Genellikle, sıkıştırılmış dokular çevrimdışı olarak sıkıştırılır ve GPU'ya sıkıştırılmış biçimde yüklenir. Ancak, Flash Player 11.4 ve AIR 3.4 çalışma zamanı doku sıkıştırmasını destekler. Bu, vektör resminden dinamik dokular oluşturulması gibi durumlarda faydalıdır. Çalışma zamanı doku sıkıştırmasını kullanmak için aşağıdaki adımları uygulayın:

  • Context3D.createTexture() yöntemini çağırıp üçüncü parametrede flash.display3D.Context3DTextureFormat.COMPRESSED veya flash.display3D.Context3DTextureFormat.COMPRESSED_ALPHA öğesini ileterek doku nesnesini oluşturun.

  • createTexture() tarafından döndürülen flash.display3D.textures.Texture örneğini kullanarak flash.display3D.textures.Texture.uploadFromBitmapData() veya flash.display3D.textures.Texture.uploadFromByteArray() öğesini çağırın. Bu yöntemler dokuyu tek bir adımda yükler ve sıkıştırır.

MIP eşlemleri aşağıdaki bitmap türleri için oluşturulur:

  • ActionScript 3.0 Loader sınıfını kullanarak görüntülenen bir bitmap (JPEG, GIF, veya PNG dosyaları)

  • bir Flash Professional belgesinin kütüphanesindeki bir bitmap

  • bir BitmapData nesnesi

  • ActionScript 2.0 loadMovie() işlevini kullanarak görüntülenen bir bitmap

MIP eşlemleri filtrelenmiş nesnelere veya bitmap önbellekli film kliplerine uygulanmaz. Ancak, bitmap maskelenmiş içerik içinde olsa dahi filtrelenmiş bir görüntüleme nesnesi içinde bitmap dönüştürmeleriniz varsa MIP mapler uygulanır.

Mipmap oluşturma otomatik olarak gerçekleşir ancak görüntülerinizin bu en iyileştirmeden faydalandığından emin olmak için birkaç noktaya dikkat edebilirsiniz:

  • Video oynatma için, Video nesnesinin smoothing özelliğine true değerini verin (bkz. Video sınıfı).

  • Bitmap'ler için smoothing özelliğine true değerinin verilmesi gerekli değildir ancak kalite iyileştirmeleri bitmap'lerde düzgünleştirme kullandığında daha belirgindir.

  • İki boyutlu görüntüler için 4'e veya 8'e bölünebilir bitmap boyutları (örn. 640 x 128 boyutlarındaki bir görüntü şu şekilde küçültülebilir: 320 x 64 > 160 x 32 > 80 x 16 > 40 x 8 > 20 x 4 > 10 x 2 > 5 x 1) kullanın.

    Üç boyutlu dokular için, her bir görüntünün 2'nin kuvveti (yani 2^n) olan bir çözünürlükte olduğu MIP eşlemleri kullanın. Örneğin, ana görüntü 1024 x 1024 piksel çözünürlüğündedir. MIP eşlemindeki daha düşük kaliteye sahip görüntüler bu durumda şu şekilde olur: MIP eşlemindeki toplam 11 görüntü için 512 x 512, 256 x 256, 128 x 128'den 1 x 1 piksele düşüş.

    Mipmap oluşturmanın tek sayılı genişlik veya yüksekliği olan bir bitmap içeriğinde meydana gelmediğini unutmayın.