SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

Adobe MAX Japan 2009を振り返ってみる

Adobe MAX Japan 2009 セッションレポート

ActionScript 3.0におけるパフォーマンス向上のヒント
― 野中文雄氏

 野中文雄氏は、ActionScript 3.0のパフォーマンスを高める実用的なコーディングテクニックを解説した。ActionScript3.0では、データ型を指定(型指定)すると、バイトコードで最適化されてFlash Player上での処理効率が高まるため、型指定の重要性を強調する。主なポイントは以下のとおり。

  • 最適化の恩恵を受けるには「強い参照」が重要。
  • 強い参照は、型指定をしてドットシンタックスを用いる。
  • データ型を指定しないものや、配列アクセスするものは弱参照となるため、アクセスが遅くなる。

 DisplayObjectクラスにおけるvisible、alpha、removeChild()を使った非表示についても、いくつかポイントを述べた。

  • visibleは手軽に表示/非表示を行う用途に向いている。
  • alphaは0にして見えなくしても画面の描画負荷がかかるため、非表示には非推奨。
  • removeChild()はイベントも受け取らず、描画負荷もかからないため、再利用しない場合は有効。

 加えて、Sprite.hitArea=true、DisplayObject.visible=falseを設定し、表示負荷の少ない透明ボタンを例として挙げた。

 続いて、Flash Player 10で登場した配列の一種、Vectorクラスも紹介された。エレメントがすべて同じデータ型で、隙間なく並ぶ制約はあるがArrayよりもエレメントのアクセスが高速である。そのほかに、ビット演算子やint型の高速化も述べた。

 その他にも様々な高速化の手法が示された。その一部を紹介する。

  • Textfield.textに文字列を追加する場合、演算子+=でなくTextField.appendText()メソッドを使った方が高速。
  • for用いた配列のループ処理ではArray.length値は前もって型指定した変数に格納すべき。
  • 整数の演算はint型かuint型で指定した方が処理が高速。

 最後に高速化手法について、「処理速度は重要ではあるが、難読化が進みメンテナンス性が低下する点や、変更する工数といったデメリットも吟味して導入すべき。OSやブラウザの組み合わせ、スタンドアロン再生かブラウザ再生かでも結果が一定でない手法もあるので注意したい」と指摘した。  

次のページ
「コミッタ全員集合!? Spark project ライトニングトークセッション」 ― Spark project

この記事は参考になりましたか?

イベントレポート連載記事一覧

もっと読む

この記事の著者

田中 正吾(Bluemix User Group)(タナカ セイゴ)

2004年よりフリーランスで活動。以後インタラクティブコンテンツ制作を主に関わる。最近はフロントエンドを中心にJavaScript開発制作・デジタルサイネージ制作・デバイス連携など行っています。ウォンバットが好きなのでWEBの力を注いで情報収集中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3604 2009/02/23 17:40

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー