Leistungsoptimierung für die ADOBE FLASH-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
LEISTUNGSOPTIMIERUNG FÜR DIE <strong>FLASH</strong>-<strong>PLATTFORM</strong><br />
Leistung in ActionScript 3.0<br />
Beim Zeichnen von Pixeln lassen sich einige einfache Optimierungen erzielen, indem <strong>die</strong> geeigneten Methoden der<br />
BitmapData-Klasse verwendet werden. Eine schnelle Möglichkeit, Pixel zu zeichnen, ist <strong>die</strong> Verwendung der<br />
setVector()-Methode:<br />
// Image dimensions<br />
var wdth:int = 200;<br />
var hght:int = 200;<br />
var total:int = wdth*hght;<br />
// Pixel colors Vector<br />
var pixels:Vector. = new Vector.(total, true);<br />
for ( var i:int = 0; i< total; i++ )<br />
{<br />
// Store the color of each pixel<br />
pixels[i] = Math.random()*0xFFFFFF;<br />
}<br />
// Create a non-transparent BitmapData object<br />
var myImage:BitmapData = new BitmapData ( wdth, hght, false );<br />
var imageContainer:Bitmap = new Bitmap ( myImage );<br />
// Paint the pixels<br />
myImage.setVector ( myImage.rect, pixels );<br />
addChild ( imageContainer );<br />
Bei langsamen Methoden, wie setPixel() oder setPixel32(), sollten Sie <strong>die</strong> Methoden lock() und unlock()<br />
verwenden, um <strong>die</strong> Ausführung zu beschleunigen. Im folgenden Code werden <strong>die</strong> Methoden lock() und unlock()<br />
verwendet, um <strong>die</strong> Leistung zu erhöhen:<br />
var buffer:BitmapData = new BitmapData(200,200,true,0xFFFFFFFF);<br />
var bitmapContainer:Bitmap = new Bitmap(buffer);<br />
var positionX:int;<br />
var positionY:int;<br />
// Lock update<br />
buffer.lock();<br />
var starting:Number=getTimer();<br />
for (var i:int = 0; i