Rit-API

Använd rit-API för att få koden att köras snabbare.

Flash Player 10 och AIR 1.5 har ett nytt rit-API, som förbättrar prestanda för kodkörningen. Denna nya API har inte bättre återgivningsprestanda, men den kan dramatiskt minska antalet kodrader som du behöver skriva. Färre rader med kod kan ge bättre prestanda vid ActionScript-körning.

Denna nya rit-API-funktion innehåller följande metoder:

  • drawPath()

  • drawGraphicsData()

  • drawTriangles()

Obs! Här kommer vi inte att fokusera på metoden drawTriangles() eftersom den används för 3D. Den här metoden kan emellertid ge bättre ActionScript-prestanda eftersom den hanterar ursprungliga texturmappningar.

I följande kod anropas rätt metod för varje linje som ritas upp:

var container:Shape = new Shape(); 
container.graphics.beginFill(0x442299); 
 
var coords:Vector.<Number> = Vector.<Number>([132, 20, 46, 254, 244, 100, 20, 98, 218, 254]); 
 
container.graphics.moveTo ( coords[0], coords[1] ); 
container.graphics.lineTo ( coords[2], coords[3] ); 
container.graphics.lineTo ( coords[4], coords[5] ); 
container.graphics.lineTo ( coords[6], coords[7] ); 
container.graphics.lineTo ( coords[8], coords[9] ); 
 
addChild( container );

Nästa kod kommer att köras snabbare än den i det föregående exemplet, eftersom inte lika många kodrader körs här. Ju mer komplex sökväg desto större blir prestandavinsten med att använda metoden drawPath() :

var container:Shape = new Shape(); 
container.graphics.beginFill(0x442299); 
 
var commands:Vector.<int> = Vector.<int>([1,2,2,2,2]); 
var coords:Vector.<Number> = Vector.<Number>([132, 20, 46, 254, 244, 100, 20, 98, 218, 254]); 
 
container.graphics.drawPath(commands, coords); 
 
addChild( container );

Metoden drawGraphicsData() ger liknande prestandaförbättringar.