Du kan aktivera maskinvaruacceleration för grafik i ett AIR-program genom att inkludera
<renderMode>gpu</renderMode>
i programbeskrivningsfilen. Du kan inte ändra återgivningsläge under körning. På stationära datorer ignoreras inställningen
renderMode
. Grafikacceleration via grafikprocessorn stöds inte för tillfället.
Begränsningar för GPU-återgivning
Följande begränsningar finns för GPU-återgivning i AIR 2.5:
-
Om grafikprocessorn inte kan återge ett objekt visas det inte alls. Processoråtergivning (CPU-återgivning) används inte.
-
Följande blandningslägen stöds inte: layer, alpha, erase, overlay, hardlight, lighten och darken.
-
Filter stöds inte.
-
PixelBender stöds inte.
-
Många grafikprocessorer har en maximal texturstorlek på 1 024 x 1 024. I ActionScript blir detta den maximala, slutliga återgivna storleken på ett visningsobjekt efter alla omformningar.
-
Du bör inte använda GPU-återgivning i AIR-program som spelar upp video.
-
I GPU-återgivningsläget flyttas textfält inte alltid till synliga områden när det virtuella tangentbordet öppnas. Gör något av följande för att garantera att textfältet syns när användaren skriver in text. Placera textfältet på den övre halvan av skärmen eller flytta det till den övre halvan av skärmen när det får fokus.
-
GPU-återgivning är inaktiverat på vissa enheter där det inte fungerar tillfredsställande. Läs den viktiga informationen för AIR-utvecklare om du vill veta mer.
Råd om god praxis för GPU-återgivning
Om du följer dessa riktlinjer kan GPU-återgivningen gå snabbare:
-
Begränsa antalet objekt som visas på scenen. Det tar tid att återge ett objekt och kombinera det med andra objekt som placerats intill det. Om du inte längre vill visa ett visningsobjekt anger du dess
visible
-egenskap som
false
. Undvik att flytta det utanför scenen, dölja det bakom ett annat objekt eller ange dess
alpha
-egenskap som 0. Om du inte behöver visningsobjektet alls tar du bort det från scenen med
removeChild()
.
-
Återanvänd objekt i stället för att skapa och ta bort dem.
-
Gör bitmappar som är ungefär 2
n
gånger 2
m
bitar stora, men inte större. Dimensionerna måste inte vara av tvåpotens, men bör vara i närheten av tvåpotens, utan att vara större. En bild med 31 x 15 pixlar återges till exempel snabbare än en bild med 33 x 17 pixlar. (31 och 15 är precis under tvåpotenserna 2: 32 och 16.)
-
Om det är möjligt anger du parametern repeat till false vid anrop till metoden
Graphic.beginBitmapFill()
.
-
Undvik att rita för mycket. Använd bakgrundsfärgen som bakgrund. Använd inte stora former i olika lager ovanpå varandra. Varje pixel som måste ritas utgör en belastning.
-
Undvik former med långa, tunna spetsar, kanter som korsar sig själva eller många detaljer vid kanterna. Dessa former tar längre tid att återge än visningsobjekt med jämna kanter.
-
Begränsa storleken på visningsobjekt.
-
Aktivera cacheAsBitMap och cacheAsBitmapMatrix för visningsobjekt vars grafik inte uppdateras så ofta.
-
Undvik rit-API:t i ActionScript (klassen Graphics) när du skapar grafik. Om det är möjligt bör du i stället skapa de objekten statiskt från början.
-
Skala bitmappsresurser till deras slutliga storlek innan du importerar dem.
GPU-återgivning i AIR 2.0.3 för mobiler
GPU-återgivning är mer begränsat i AIR-program för mobiler som skapas med Packager for iPhone. Grafikprocessorn är bara effektiv för bitmappar, fyllda former och visningsobjekt för vilka egenskapen
cacheAsBitmap
har angetts. Dessutom kan grafikprocessorn återge objekt som roteras och skalas, för objekt där
cacheAsBitmap
och
cacheAsBitmapMatrix
har angetts. Grafikprocessorn används samtidigt för andra visningsobjekt, vilket vanligtvis medför sämre återgivningsprestanda.
|
|
|