s26

高速化サイトを漁ってみた

http://level0.kayac.com/2009/01/post_12.php#more

GIF画像に変換しても支障がないものはGIFへ
■軽くなるので、探してでもやってみようと思う。

アンカーポイントを減らす(修正→シェイプ→最適化)
■これは意識になかった。

アウトラインを塗りに変換(修正→シェイプ→線を塗りに変換)
■線は重い。

ムービークリップもしくはグラフィックに変換してそのオブジェクトを使用
(デザイン修正のときも1つを修正するだけなので楽に対応できる)
■そのまま、使用をしています。

・モーショントゥイーンの部分を選択しキーフレームに変換、そしてモーショントゥイーンの削除をする
■これは、ちょっと試してみるかぁ。


http://level0.kayac.com/2008/11/memory_leak.php


単にコンテンツをremoveChildってやると変数やイベントリスナー等の参照残りまくって、
メモリがアボンするので、removeChild後に参照していた変数にnull突っ込む、
イベントリスナーはremoveEventListenerするか、または、弱参照として登録しておく。

■無理やりっぽいけど、結構多くのブログで記載されていた。
■まぁ、できるだけ丁寧にeventを消してあげるのが一番だけどね。


http://www.jinten.net/blog/archives/6

strictでコンパイル
■型指定の徹底をしなくては

http://www.tmdf.net/blog/20090827_flash_slow1.html

cacheAsBitmapは使い方(x,y軸移動以外のアニメーションなど)によっては逆に重くなるので注意が必要。
■縦移動のみや、横移動のみなら採用!
※横スクロールで、やってたら、なんかバグが出た。検証中。

http://unbland.org/blog/2009/05/17/250.html

new Object() より {}、new Array() より [] が高速というのは周知の事実
Math.floor() が重いのは周知の事実
■知らなかったorz

整数化では、n >> 0 などのビット演算で整数化する方が多いのですが、
int(n) の方が高速だし見やすいのでお勧めです。
■為になるなぁ。

if … else 文は比較回数が少ない場合は軽いですが、比較回数が増えると switch 文の方が高速です。
ただ、100 万回も処理させて数ミリ秒の違いですので、
臨機応変に見やすい方を記述しておけば良いんじゃないかと思います。

■ifが好きなので。。


http://actionscript.g.hatena.ne.jp/ConquestArrow/20070621/1182359767

Math.abs()を使わず絶対値を求める
■簡潔な書き方がされている。

Object型は使わない
vectorが基本の時代はそこまで来てる!