30.07.2012 Aufrufe

Leistungsoptimierung für die ADOBE FLASH-PLATTFORM

Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM

Leistungsoptimierung für die ADOBE® FLASH®-PLATTFORM

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!