API-интерфейс рисования

Используйте API-интерфейс рисования для ускорения выполнения кода.

Проигрыватели Flash Player 10 и AIR 1.5 предоставляют новый API-интерфейс рисования, который позволяет повысить производительность при выполнении кода. Этот новый API-интерфейс не обеспечивает повышение производительности визуализации, но позволяет значительно уменьшить число записываемых строк кода. Уменьшение числа строк кода обеспечивает более высокий уровень производительности при выполнении кода ActionScript.

Новый API-интерфейс рисования включает следующие методы:

  • drawPath()

  • drawGraphicsData()

  • drawTriangles()

Примечание. В этом документе подробно не рассматривается метод drawTriangles() , относящийся к трехмерной визуализации. Однако этот метод позволяет повысить производительность ActionScript, поскольку он обрабатывает собственное сопоставление текстуры.

Следующий код явно вызывает подходящий метод для каждой рисуемой линии.

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

Следующий код выполняется быстрее, чем код в предыдущем примере, поскольку выполнению подлежит меньшее число строк. Чем сложнее путь, тем выше прирост производительности при использовании метода 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 );

Метод drawGraphicsData() обеспечивает похожие улучшения производительности.