Direkt mipmapping

Använd mipmapping för att vid behov skalförändra stora bilder.

En annan ny funktion i Flash Player 10.1 och AIR 2.5 på alla plattformar rör mipmapping. I Flash Player 9 och AIR 1.0 introducerades en mipmappingsfunktion, som förbättrade kvaliteten och prestandan för nedskalade bitmappar.

Obs! Mipmappingsfunktionen gäller endast för dynamiskt inlästa bilder eller inbäddade bitmappar. Mipmapping gäller inte för visningsobjekt som har filtrerats eller cache-lagrats. Mipmapping går endast att bearbeta om bredden och höjden på bitmappen har jämna värden. När höjden eller bredden har ett ojämnt värde kommer mipmappingen att avbrytas. Om exempelvis en bild är 250 x 250 kan den mipmappas ner till 125 x 125, men inte ytterligare. I detta exempel är minst ett av värdena ojämnt. Du uppnår bäst resultat för bitmappar med mått som är 2-potenser, till exempel 256 x 256, 512 x 512, 1024 x 1024 osv.

Tänk dig att du har läst in en bild som är 1024 x 1024 och att du vill skala ned den för att skapa en miniatyr i ett galleri. Mipmappingsfunktionen återger bilden på ett korrekt sätt när den skalförändras eftersom de mellanliggande nedsamplade versionerna av bitmappen används som texturer. I tidigare versioner av körningsmiljön skapades mellanliggande nedskalade versioner av bitmappen i minnet. Om en bild på 1 024 x 1 024 lästes in och visades som 64 x 64 skulle varje halverad bitmapp skapas i äldre versioner av körningsmiljön. I detta exempel innebär det att bitmappar för 512 x 512, 256 x 256, 128 x 128 och 64 x 64 skulle skapas.

Flash Player 10.1 och AIR 2.5 har nu stöd för mipmapping direkt från den ursprungliga källan till önskad målstorlek. I föregående exempel skapades endast originalbitmappen på 4 MB (1024 x 1024) och den mipmappade bitmappen på 16 kB (64 x 64).

Mipmapping fungerar även för funktionen för borttagning av dynamiska bitmappar. Om endast bitmappen på 64 x 64 används, kommer originalbitmappen på 4 MB att frigöras från minnet. Om bitmappen måste återskapas kommer originalet att läsas in. Om dessutom andra mipmappade bitmappar med olika storlekar krävs, används mipp-kedjan av bitmappar för att skapa bitmappen. Om exempelvis en bitmapp på 1:8 måste skapas, kommer bitmapparna för 1:4, 1:2 och 1:1 att kontrolleras för att bestämma vilken av dem som ska läsas in i minnet först. Om inga andra versioner går att hitta kommer originalbitmappen på 1:1 att läsas in från resursen och användas.

Med JPEG-expandering kan mipmapping utföras inom det egna formatet. Direkt mipmapping tillåter att en stor bitmapp expanderas direkt till ett mipmapp-format utan att hela den okomprimerade bilden läses in. Det går betydligt fortare att generera mipmappen och minnet som används av stora bitmappar tilldelas inte och frigörs sedan. JPEG-bildens kvalitet är jämförbar med generella mipmapping-teknikers.

Obs! Använd mipmapping sparsamt. Kvaliteten på nedskalade bitmappar kommer att förbättras, men dessutom påverkas bandbredden, minneskapaciteten och hastigheten. I vissa fall kan det vara bättre att använda en tidigare skalad version av bitmappen från ett externt verktyg och sedan importera den till programmet. Börja inte med stora bitmappar om du har för avsikt att skala ned dem.