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 />
Renderleistung<br />
import org.bytearray.bitmap.BitmapApple;<br />
const MAX_NUM:int = 100;<br />
var holder:Sprite = new Sprite();<br />
addChild ( holder );<br />
var holderVector:Vector. = new Vector.(MAX_NUM, true);<br />
var source:AppleSource = new AppleSource();<br />
var bounds:Object = source.getBounds ( source );<br />
var mat:Matrix = new Matrix();<br />
mat.translate ( -bounds.x, -bounds.y );<br />
var buffer:BitmapData = new BitmapData ( source.width+1, source.height+1, true, 0 );<br />
stage.quality = StageQuality.HIGH;<br />
buffer.draw ( source, mat );<br />
stage.quality = StageQuality.LOW;<br />
var bitmapApple:BitmapApple;<br />
for (var i:int = 0; i< MAX_NUM; i++ )<br />
{<br />
bitmapApple = new BitmapApple( buffer );<br />
}<br />
holderVector[i] = bitmapApple;<br />
holder.addChild ( bitmapApple );<br />
Das Wechseln der Bühnenqualität vor und nach dem Zeichnen eines Vektors als Bitmap kann eine äußerst<br />
leistungsstarke Strategie sein, um Anti-Aliasing-Text auf dem Bildschirm anzuzeigen. Diese Technik kann<br />
unabhängig von der endgültigen Bühnenqualität gute Ergebnisse liefern. Beispielsweise lässt sich eine Anti-Aliasing-<br />
Bitmap mit Anti-Aliasing-Text erzielen, selbst wenn <strong>die</strong> Bühnenqualität auf LOW eingestellt ist. Diese Technik kann mit<br />
der cacheAsBitmap-Eigenschaft nicht eingesetzt werden. In <strong>die</strong>sem Fall bewirkt <strong>die</strong> Einstellung LOW <strong>für</strong> <strong>die</strong><br />
Filmqualität, dass <strong>die</strong> Vektorqualität aktualisiert wird. Dadurch werden <strong>die</strong> Bitmapoberflächen im Arbeitsspeicher<br />
und dann auch <strong>die</strong> endgültige Qualität aktualisiert.<br />
Isolieren von Verhalten<br />
Ereignisse wie Event.ENTER_FRAME sollten nach Möglichkeit in einer einzelnen Prozedur isoliert werden.<br />
Sie können den Code noch weiter optimieren, indem Sie das Event.ENTER_FRAME-Ereignis in der Apple-Klasse in<br />
einer einzelnen Prozedur isolieren. Durch <strong>die</strong>se Technik werden CPU-Ressourcen eingespart. Das folgende Beispiel<br />
zeigt <strong>die</strong>ses Verfahren, bei dem <strong>die</strong> BitmapApple-Klasse nicht mehr <strong>für</strong> das Verhalten der Bewegung zuständig ist:<br />
Letzte Aktualisierung 9.5.2012<br />
66