Teken-API

Gebruik de teken-API voor een snellere uitvoering van de code.

Flash Player 10 en AIR 1.5 bieden een nieuwe teken-API, waardoor u betere prestaties van de code krijgt. Deze nieuwe API biedt geen verbetering van de renderingsprestatie, maar kan het aantal regels van de code die u moet schrijven sterk verminderen. Minder coderegels leiden tot een betere prestatie van ActionScript tijdens de uitvoering.

De nieuwe teken-API bevat de volgende methoden:

  • drawPath()

  • drawGraphicsData()

  • drawTriangles()

Opmerking: Deze discussie richt zich niet op de drawTriangles() -methode, die gerelateerd is aan 3D. Deze methode kan echter de prestatie van ActionScript verbeteren, omdat deze de toewijzing van de oorspronkelijke textuur behandelt.

De volgende code roept expliciet de toepasselijke methode op voor elke getekende regel.

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 );

De volgende code wordt sneller dan het vorige voorbeeld uitgevoerd, omdat deze minder coderegels uitvoert. Hoe complexer het pad, hoe groter de prestatietoename met de drawPath() -methode.

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 );

De drawGraphicsData() -methode biedt vergelijkbare prestatieverbeteringen.