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 />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!