この記事のURL

http://www.dango-itimi.com/blog/archives/2012/001141.html


FLASH tips FlasCC Box2D.swc にクラスパスを通すと FDT の quickfix がやたら遅くなる

ぼちぼち性能のよいメイン PC Windows7 と、ノート PC Windows8 両方とで確認。
FDT は最新の eclipse JUNO スタンドアローン版を使用。

FlasCC サンプル(FlasCC/samples/Example_Box2D)内 box2d を swc にコンパイルした Box2D.swc ファイルに対し、FDT からクラスパスを通すと、そのクラスパスを通したプロジェクトの quickfix の動作がとても遅くなってしまいます。その遅さは致命的なもので毎度二秒ほどかかります。

何かを入力する度に quickfix のウインドウ表示で画面描画が二秒ほど停止するため、ろくにコーディングできない状況です。Box2D.swc へのクラスパスを外せば通常通りサクサク動作します。

FlasCC で作成された swc ファイルは以前のバージョンの FDT では読み込むことができず、最新バージョンの FDT を使用すれば万事解決、と思いきやこれは落とし穴でした。


遅くなる原因は何であるのかの検証としまして、FlasCC/samples/05_SWC ディレクトリ内サンプルから出力される MurmurHash.swc へ FDT からクラスパスを通してみたところ、quickfix の動作は 0.5 秒ほどの遅延が発生する事となりました。やや入力が引っかかる程度の遅さです。

Box2D.swc のファイル容量は 690KB, MurmurHash.swc のファイル容量は 385KB。
MurmurHash.swc に配置されている class や interface の数は結構な量(1000くらい?)となっていますが、Box2D.swc はその更に倍以上の数となっています。

以上から察するに、単純に swc 内の class や interface が多すぎるための遅延なのかもしれません。解析に時間がかかってしまっていそうです。Flash Builder では遅延は発生するのかどうかが気になる所ではあります。
改善できるものか、ダメ元でFDTサポートに連絡したいと思います。

追記)
対処用 swc の作成を行いました。
http://www.dango-itimi.com/blog/archives/2012/001142.html

[ FLASH ] [ tips ] 投稿者 siratama : 2012年12月07日 03:15

トラックバック

http://www.dango-itimi.com/blog/mt-tb.cgi/1101

» FlasCC : Box2D_for_quickfix.swc 作成 from X-LABO
前回 FlasCC からコンパイルされた Box2D.swc にクラスパスを通す... [続きを読む]

トラックバック時刻: 2012年12月07日 22:58

コメント

以下コメントを書き込むだけでは、管理人には通知が行われません。通知を行いたい場合、管理人の書き込みに「返信」を押してコメントをしていただくか、あるいは Google+, Twitter へご連絡ください。




[EDIT]