GPU-rendering in AIR-toepassingen voor mobiele apparaten

Schakel hardwareversnelling voor afbeeldingen in een AIR-toepassing in door <renderMode>gpu</renderMode> in het toepassingsbeschrijvingsbestand op te nemen. U kunt de renderingmodes niet wijzigen tijdens runtime. Op desktopcomputers wordt de instelling renderMode genegeerd; GPU-versnelling voor afbeeldingen wordt momenteel niet ondersteund.

Beperkingen van de GPU-renderingmodus

Wanneer u de GPU-renderingmodus in AIR 2.5 gebruikt, bestaan de volgende beperkingen:

  • Als de GPU een object niet kan renderen, wordt het object niet weergegeven. Er is geen fallback voor CPU-rendering.

  • De volgende overvloeimodi worden niet ondersteund: laag, alfa, wissen, bedekking, fel licht, lichter en donkerder.

  • Filters worden niet ondersteund.

  • PixelBender wordt niet ondersteund.

  • Veel GPU-eenheden hebben een maximale structuurgrootte van 1024 x 1024. In ActionScript wordt dit de maximale uiteindelijke gerenderde grootte van een weergaveobject na alle transformaties.

  • Adobe raadt het gebruik van de GPU-renderingmodus in AIR-toepassingen waarin video wordt afgespeeld, niet aan.

  • In de GPU-renderingmodus worden tekstvelden niet altijd verplaatst naar een zichtbare locatie wanneer het virtuele toetsenbord wordt geopend. Voer een van de volgende handelingen uit om ervoor te zorgen dat uw tekstveld zichtbaar is terwijl de gebruiker tekst invoert: Plaats het tekstveld in de bovenste helft van het scherm of verplaats het naar de bovenste helft als het veld de focus krijgt.

  • De GPU-renderingmodus is uitgeschakeld voor sommige apparaten waarop de modus niet betrouwbaar werkt. Zie de AIR-ontwikkelaarsrelease voor de meest recente informatie.

GPU-renderingmodus: aanbevolen procedures

Als u de volgende richtlijnen in acht neemt, wordt de GPU-rendering sneller uitgevoerd:

  • Beperk het aantal items dat zichtbaar is in het werkgebied. Het duurt enige tijd om items te renderen en samen te stellen met de andere items eromheen. Wanneer u een weergaveobject niet meer wilt weergeven, stelt u de eigenschap visible van het object in op false . Verplaatst het object niet zo maar naar een locatie buiten het werkgebied, plaats het niet achter een ander object en stel de eigenschap alpha niet in op 0. Als u het weergaveobject niet meer nodig hebt, verwijdert u het uit het werkgebied met removeChild() .

  • Gebruik objecten opnieuw in plaats van ze te maken en ze vervolgens weer te verwijderen.

  • Maak bitmapformaten die bijna even groot zijn, maar minder groot zijn dan 2 n bij 2 m bits. De afmetingen hoeven niet 2 tot een bepaalde macht te zijn, maar ze moeten dicht in de buurt van een macht van 2 liggen en mogen niet groter zijn. Een afbeelding van 31 bij 15 pixels wordt bijvoorbeeld sneller gerenderd dan een afbeelding van 33 bij 17 pixels. (31 en 15 zijn net iets minder dan een macht van 2, 32 en 16.)

  • Stel, indien mogelijk, de parameter repeat in op false wanneer de methode Graphic.beginBitmapFill() wordt aangeroepen.

  • Gebruik niet te veel kleuren. Gebruik de achtergrondkleur als achtergrond. Plaats grote lagen niet boven op elkaar. Elke pixel die moet worden getekend, heeft zijn prijs.

  • Vermijd vormen met lange dunne punten, randen die zichzelf snijden of veel fijne details langs de randen. Het kost meer tijd om deze vormen te renderen dan weergaveobjecten met vloeiende randen.

  • Beperk de grootte van weergaveobjecten.

  • Schakel cacheAsBitMap en cacheAsBitmapMatrix in voor weergaveobjecten waarvan de afbeeldingen niet regelmatig worden bijgewerkt.

  • Vermijd het gebruik van de teken-API van ActionScript (de klasse Graphics) bij het maken van afbeeldingen. Maak indien mogelijk die objecten statisch tijdens het ontwerpen.

  • Schaal bitmapelementen tot de uiteindelijke grootte voordat u ze importeert.

De GPU-renderingmodus in AIR 2.0.3 voor mobiele apparaten

De GPU-rendering kent meer beperkingen in AIR-toepassingen voor mobiele apparaten die zijn gemaakt met de Packager for iPhone. De GPU wordt alleen gebruikt voor bitmaps, effen vormen en weegaveobjecten waarvoor de eigenschap cacheAsBitmap is ingesteld. Ook voor objecten waarvoor cacheAsBitmap en cacheAsBitmapMatrix is ingesteld, kan de GPU objecten renderen die roteren of schalen. De GPU wordt gelijktijdig voor andere weergaveobjecten gebruikt en dit resulteert meestal in matige renderingprestaties.