GPU-återgivning i AIR-program för mobiler

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.