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
» FlasCC : Box2D_for_quickfix.swc 作成 from X-LABO
前回 FlasCC からコンパイルされた Box2D.swc にクラスパスを通す... [続きを読む]
トラックバック時刻: 2012年12月07日 22:58