Interfejs API rysowania

Interfejs API rysowania umożliwia szybsze wykonywanie kodu.

W programie Flash Player 10 i środowisku AIR 1.5 udostępniono nowy interfejs API, który umożliwia wydajniejsze wykonywanie kodu. Ten interfejs API nie zwiększa wydajności renderingu, ale korzystanie z niego może znacznie skrócić program użytkownika. Mniejsza liczba wierszy kodu ActionScript może przekładać się na zwiększenie wydajności jego wykonywania.

Nowy interfejs API rysowania udostępnia następujące metody:

  • drawPath()

  • drawGraphicsData()

  • drawTriangles()

Uwaga: W niniejszym podręczniku nie opisano metody drawTriangles() , która jest związana z pracą w 3D. Jednak ta metoda może zwiększać wydajność kodu ActionScript, ponieważ obsługuje rodzime odwzorowania tekstur.

Poniższy kod jawnie wywołuje odpowiednią metodę dla każdej rysowanej linii:

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

Poniższy kod jest wykonywany szybciej niż poprzedni, ponieważ liczba wykonywanych wierszy jest mniejsza. Im bardziej skomplikowana jest ścieżka, tym większy jest wzrost wydajności po zastosowaniu metody 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 );

Metoda drawGraphicsData() umożliwia uzyskanie podobnego wzrostu wydajności.