« | »

kusa
2011-03-18 07:59 pm  

こんにちは。くさかべです。

先日、swf上に外部のswfファイル(図面)を読み込み、
図面のドラッグや拡大縮小をさせるツールを作成しました。

その際に、マウスポインタとして独自のMovieClipを表示させるようにしたのですが
InternetExplorer内で使用するときだけ、マウスポインタを少し動かすだけで
CPUの使用率が非常に高くなり、ポインタがスムーズに動かない、
という現象に悩まされました。

原因と対応策のメモです。

1.全ての DisplayObject がマウスの動作を拾うため、
オブジェクトが多いと負荷がかかっていた。

→mouseChildren や mouseEnabled を false にし、
不要なマウスイベントを拾わないようにしました

2.読み込んでいたswfファイルがActionScript2になっていた

→AS3に変換しました

この他にもいくつかの改善を行いましたが、主因は2でした。
まだまだ勉強が必要ですね…。

ともあれ、性能改善は手探りで頭を悩ますことも多いのですが、
改善したときの爽快感はたまりません~

Comment & Trackback

Comments and Trackback are closed.

最近の投稿

Archives:

カテゴリー