現在ベータ版が Adobe Labs に公開されている Flash Builder 4.7 のヘルプドキュメントに、Monocle の設定方法が公開されています。 (Using Project Monocle with Flash Builder)
Monocle は現在開発が進められている新しいプロファイリングツールのコードネームです。何回か公開デモが行われたことがあるので、見たことのある方も多いと思います。
Monocle は Flash Player 11.3 / AIR 3.3 から導入された Telemetry という機能を利用します。
Telemetry は Flash ランタイムが持つ機能で、ActionScript だけでなく、ランタイム内部の動作状況もデータとして通知します。Monocle はこのデータを受け取って表示するため、Flash Player 上のコンテンツや、AIR アプリケーションのとても詳細な動作状況を表示することができます。
また、Telemetry は、通常の再生環境で利用できます。デバッグ用のプレーヤをインストールしたり、デバッグ用のビルドを用意する必要がありません。
これにより、Monocle では (Telemetry では)、ユーザが体験するパフォーマンスをそのままプロファイルできるという利点があります。
Flash Builder 4.7 に Monocleを 設定する方法
Telemetry を使用するためには、コンパイル時に -advanced-telemetry オプションを指定します。このオプションを指定せずにコンパイルされたコンテンツやアプリは、Flash ランタイム上で実行しても Telemetry データが送信されません。
プロファイル情報は関数名などコンテンツ内に記述されたコードの詳細を示すため、一般に公開するコンテンツでは Telemetry を無効にしたいという人も多いかもしれません。そんな場合は、オプションの指定を切り替えるとよいわけです。
ところで、-advanced-telemetry オプションは、ASC 2.0 という新しいコンパイラだけがサポートします。そのため、(いまのところ) ActionScript プロジェクトと ActionScript モバイルプロジェクトのみでの利用できる機能となっています。
コンパイル時のオプションの追加手順は以下の通りです。
- ActionScript プロジェクトの 「プロパティ」 ダイアログから ActionScript コンパイラーを選択
- Telemetry オプションの下の、「詳細な Telemetry を有効にする」 にチェック
これで、実行時に Telemetry データが送信されるようになります。
さて、場合によっては、Telemetry データは欲しいけれど他の人からは隠したい、という話になるかもしれません。そんなときのため、データの受信に対してパスワードを設定する仕組みが提供されています。
パスワードの設定は、リリースビルドの書き出し時に行います。具体的な手順は以下のようになります。
- 「リリースビルドの書き出し」 ウィザード内の、「詳細な Telemetry を有効にする」 がチェックされていることを確認
- その下のフォームの 「パスワード」 の欄にパスワードを入力、「確認」 の欄に再入力する (パスワードを変更するには、再度書き出しを行う)
iOS アプリで Telemetry を使用する場合の注意点
iOS アプリでは、Telemetry が有効になっているとパフォーマンスに影響が出る場合があるようです。
Telemetry データが不要な場合には、-sampler というオプションを指定せずにビルドすることで Telemetry を無効にできます。
- 「実行構成」/「デバッグ構成」 のダイアログボックスか 「リリースビルドの書き出し」 ウィザードの 「パッケージ化設定」 画面で 「起動をカスタマイズ」 をクリック
- 「起動パラメーターをカスタマイズ」 ダイアログ内の、-sampler と書かれた欄の横の X をクリック
- 「変更されたパラメーター」 の下に -sampler が表示されていることを確認して、OK をクリック
必要な設定は以上です。
Monocle を利用する場合は、Flash Player 11.3 / AIR 3.3 以降のバージョンが必要です。
Monocle 自体の入手は、英語のプライベートプレリリースに参加すると案内が届きます。日本語の情報が無く、外部との情報交換も禁止されている (要は英語以外で問い合わせができない) ため、ちょっと敷居が高いかもしれませんが、興味のある方は是非。
コメントする