クラウドマップで”イノベーション”を目指す

クラウドマップ開発ブログ

Flash Tips: コンポーネントを使いまわす

前記した「Flashの速度向上に関して」で、マップ上のコンポーネントの生成をなるべく抑えるようにしたと書きました。具体的にはこれは、描画するコンポーネントを使いまわすことで実現しています。今日はその点について解説します。

クラウドマップでは現在、大きいもので1万件ほどのコンテンツをマップ上に配置しています。もちろん、それと同数の描画コンポーネントを作るのは非効率です。そこで、位置情報だけ先に読み込んでおいて、見ている部分だけ、コンポーネントを作成すればよいと思われます。

このとき、見終わったコンポーネントを削除して、新たに描画領域に入ってくるコンポーネントを作成するという方法があります。しかし、これはコンポーネント作成の負荷が描画の度にかかってしまうので遅いです(旧バージョンではそうしていました)。

よりよい方法は、見終わったコンポーネントを削除せずプールしておいて、新規のコンポーネントでパラメタだけ変えて再利用させることです。つまり、deleteとnewの操作から、親コンポーネントのremoveChild(*)とaddChild(*)の操作だけで済ませるようにすることです。実際に、この方法で処理速度が向上したことを確認しました。

おそらく、このような方法は常套手段とは思いますが…。

Comments

  1. クラウドマップ開発ブログ » 新しい企業検索サービスnessyをリリース 開発裏(flash2javascript) さんのコメント:

    [...] あとは、だいたいスムーズに開発でき、処理速度も満足いくもので(IEは少し重いですが)、データも軽くなりました(圧縮時50kb)。flashで培ったMVCによる設計や、速度向上のためのテクニック(例)なども組み入れることができました。最終的には、スクリプト言語であることと、変数操作の自由度の高さから、やりやすい言語であると思いました。ただ、クロスブラウザ問題にはまだ悩まされます(参:jQueryでもはまるクロスブラウザ問題まとめ) [...]

コメントお待ちしてます!