onEnterFrame

先日更新した上部のFlashメニューですが、右のAmashと合わせて異常に重い!

メインPCのCore2Duoだとまったく気付かなかったんですが、初代MacBook(CoreDuo)上で見たら気付きました。

これはまずいなということで早速原因の特定と修正を行いました。

おそらく原因は2点。

1、
"HOME"や"Flash Counter"などのコンテンツへのリンクとなるMCですが、
実はステージ外に位置を移動させているだけで常にステージ上には存在していました。
各MCにはonEnterFrameでフィルタや移動などをやらせていたわけですが、必要のない(表示されていない)ものはremoveMovieClipでステージから消してしまい、必要なものだけattachMovieで配置してやることにしました。

最初はこれで軽くなったと思ったんですが、どうも効果は微妙。

2、
ステージ上に存在するMCのonEnterFrameが動きっぱなしでした。
いや、まさかこれでそれほど負荷がかかるとは思ってもいなかったので、ずっと動作させていたわけですが、delete this.onEnterFrameで止めて(消して)、MacBookで確認してみたら明らかに負荷が減ってる。
ということで、動く必要のないときはonEnterFrameを止め、必要なときはthis.onEnterFrame = 関数名;として再び設定してやることに。

これで負荷が激減しました。

他にも効果が微妙な修正を行いましたが、やっぱり非力なPCではフィルタはきつい。

あと、FirefoxのFlash Playerは重いということもわかった。

onEnterFrameは必要ないときは止めてしまいましょう!

トラックバック(0)

このブログ記事に対するトラックバックURL: http://eternitydesign.net/mt/mt-tb.cgi/118

コメントフォーム

AUTHOR

名古屋でひっそりと活動中。
ホームページ制作、Flashコンテンツ制作など制作依頼がありましたらお気軽にご連絡ください。
ご希望の方には制作実績も同時にお伝えいたします。

TAG CLOUD