使用繪圖 API 可獲得執行速度較快的程式碼。
Flash Player 10 與 AIR 1.5 提供新的繪圖 API,可讓您獲得更佳的程式碼執行效能。這項新的 API 並未改善顯示效能,但是它可大幅減少您必須撰寫的程式碼行數。較少行的程式碼可以提供較佳的 ActionScript 執行效能。
新的繪圖 API 包括下列方法:
-
drawPath()
-
drawGraphicsData()
-
drawTriangles()
備註:
此處的討論不會著重在與 3D 相關的
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()
方法提供類似的效能改善。