Benefícios do mapeamento mip

Flash Player 9 e posterior, Adobe AIR 1.0 e posterior

Mapas MIP (também conhecido como mipmaps ), são bitmaps agrupados e associados a uma textura para aumentar a qualidade e o desempenho da renderização no tempo de execução. Cada imagem bitmap no mapa MIP é uma versão da imagem bitmap principal, mas a um nível de detalhes reduzido da imagem principal.

Por exemplo, você pode ter um mapa MIP que inclui na maior qualidade uma imagem principal de 64 × 64 pixels. As imagens de qualidade inferior no mapa MIP teriam 32 × 32, 16 × 16, 8 × 8, 4 × 4, 2 × 2 e 1 × 1 pixels.

O Fluxo de textura e a capacidade de carrega o de menor qualidade primeiro e depois exibir progressivamente bitmaps com maior conforme são carregados. Como os bitmaps de qualidade inferior são pequenos, ele carregam mais rápido do que a imagem principal. Portanto, os usuários dos aplicativos podem visualizar imagens em um aplicativo antes do principal de alta qualidade carregar.

O Flash Player 9.115.0 e versões posteriores e o AIR implementam essa tecnologia (o processo é chamado mipmapping ), por meio da criação de versões otimizadas de escala variável de cada bitmap (começando em 50%).

O Flash Player 11.3 e o AIR 3.3 suportam o fluxo de texturas pelo parâmetro streamingLevels dos métodos Context3D.createCubeTexture() e Context3D.createTexture() .

A compactação de textura permite que você armazene imagens em formato compactado diretamente na GPU, o que poupa a memória da GPU e a largura de banda da memória. Tipicamente, texturas compactadas são compactadas offline e carregadas na GPU em formato compactado. Entretanto, o Flash Player 11.4 e o AIR 3.4 oferecem suporte à a compactação de textura de tempo de execução, o que é útil em determinadas situações, como a renderização de texturas dinâmicas de arte vetorial. Para usar a compactação de textura de tempo de execução, siga as seguintes etapas:

  • Crie o objeto de textura chamando o método Context3D.createTexture() , fornecendo flash.display3D.Context3DTextureFormat.COMPRESSED ou flash.display3D.Context3DTextureFormat.COMPRESSED_ALPHA no terceiro parâmetro.

  • Utilizando a instância flash.display3D.textures.Texture retornada por createTexture() , chame flash.display3D.textures.Texture.uploadFromBitmapData() ou flash.display3D.textures.Texture.uploadFromByteArray() . Esses métodos carregam e compactam a textura em uma etapa.

Os mapas MIP são criados para os seguintes tipos de bitmaps:

  • um bitmap (arquivos JPEG, GIF ou PNG) exibido com a classe Loader do ActionScript 3.0

  • um bitmap na biblioteca de um documento Flash Professional

  • um objeto BitmapData

  • um bitmap exibido com a função loadMovie() do ActionScript 2.0

Os mapas MIP não são aplicados a objetos filtrados nem a clipes de filme em cache de bitmap. Entretanto, os mapas MIP são aplicados se você tiver transformações de bitmap em um objeto de exibição filtrado, mesmo se o bitmap estiver dentro de conteúdo mascarado.

Os mapeamentos mip ocorre automaticamente, mas você pode seguir algumas orientações para se certificar de que suas imagens usem essa otimização:

  • Para reprodução de vídeo, defina a propriedade smoothing como true para o objeto Video (consulte a classe Video).

  • Para bitmaps, a propriedade smoothing não tem que ser definida como true , mas os aprimoramentos de qualidade são mais visíveis quando os bitmaps usam suavização.

  • Use tamanhos de bitmap que podem ser divididos por 4 ou 8 para imagens de bidimensionais (como 640 x 128, que pode ser reduzido da seguinte forma: 320 x 64 > 160 x 32 > 80 x 16 > 40 x 8 > 20 x 4 > 10 x 2 > 5 x 1).

    Para texturas tridimensionais, use mapas MIP nos quais cada imagem está em uma resolução que é uma potência de 2 (isto é, 2^n). Por exemplo, a imagem principal está em uma resolução de 1024 x 1024 pixels. As imagens de qualidade inferior no mapa MIP teriam 512 x 512, 256 x 256, 128 x 128 até 1 x 1 pixels, totalizando 11 imagens no MIP.

    Observe que o mapeamento mip não ocorre para conteúdo bitmap com largura ou altura ímpar.