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 />
Minimieren der CPU-Auslastung<br />
Zwei Ereignisse (Event.ACTIVATE und Event.DEACTIVATE) sind bei der Feinabstimmung der Anwendung hilfreich,<br />
damit so wenig CPU-Durchläufe wie möglich verwendet werden. Mit <strong>die</strong>sen Ereignissen können Sie erkennen, wenn<br />
<strong>die</strong> Laufzeitumgebung den Fokus erhält oder verliert. So kann der Code optimiert werden, um auf Kontextänderungen<br />
zu reagieren. Im folgenden Code werden Listener <strong>für</strong> beide Ereignisse verwendet und <strong>die</strong> Bildrate wird auf null gesetzt,<br />
wenn <strong>die</strong> Anwendung den Fokus verliert. Die Anwendung kann zum Beispiel den Fokus verlieren, wenn der Benutzer<br />
auf einen anderen Tab wechselt oder <strong>die</strong> Anwendung in den Hintergrund verschiebt:<br />
var originalFrameRate:uint = stage.frameRate;<br />
var standbyFrameRate:uint = 0;<br />
stage.addEventListener ( Event.ACTIVATE, onActivate );<br />
stage.addEventListener ( Event.DEACTIVATE, onDeactivate );<br />
function onActivate ( e:Event ):void<br />
{<br />
// restore original frame rate<br />
stage.frameRate = originalFrameRate;<br />
}<br />
function onDeactivate ( e:Event ):void<br />
{<br />
// set frame rate to 0<br />
stage.frameRate = standbyFrameRate;<br />
}<br />
Wenn <strong>die</strong> Anwendung wieder den Fokus erhält, wird <strong>die</strong> Bildrate auf den ursprünglichen Wert zurückgesetzt. Anstatt<br />
<strong>die</strong> Bildrate dynamisch zu ändern, können Sie auch andere Optimierungen in Betracht ziehen, zum Beispiel das<br />
Fixieren von Objekten bzw. das Aufheben der Fixierung.<br />
Das Aktivieren und Deaktivieren von Ereignissen ermöglicht Ihnen, einen ähnlichen Mechanismus wie <strong>die</strong> Funktion<br />
„Anhalten und Fortsetzen“, <strong>die</strong> auf bestimmten mobilen Geräten und Netbooks zu finden ist, zu verwenden.<br />
Verwandte Themen<br />
„Bildrate der Anwendung“ auf Seite 54<br />
„Fixieren und Freigeben von Objekten“ auf Seite 29<br />
Mausinteraktionen<br />
Es empfiehlt sich, Mausinteraktionen nach Möglichkeit zu deaktivieren.<br />
Wenn Sie ein interaktives Objekt, zum Beispiel ein MovieClip- oder Sprite-Objekt, verwenden, führt <strong>die</strong><br />
Laufzeitumgebung nativen Code aus, um Mausinteraktionen zu erkennen und zu verarbeiten. Das Erkennen von<br />
Mausinteraktionen kann <strong>die</strong> CPU stark beanspruchen, wenn zahlreiche interaktive Objekte auf dem Bildschirm<br />
angezeigt werden, besonders wenn <strong>die</strong>se Objekte sich überlappen. Dieser Verarbeitungsaufwand lässt sich auf einfache<br />
Weise vermeiden, indem <strong>die</strong> Mausinteraktionen <strong>für</strong> Objekte deaktiviert werden, <strong>die</strong> keine Mausinteraktion erfordern.<br />
Der folgende Code veranschaulicht <strong>die</strong> Verwendung der Eigenschaften mouseEnabled und mouseChildren:<br />
Letzte Aktualisierung 9.5.2012<br />
33