2010年12月アーカイブ

RIA のアーキテクチャーとデザインパターンというお題で記事を 2 本書きました。

1 つ目は、J2EE-MVC2 についての考察と、Flex アプリケーションからアプリケーションサーバーへの連携手段についての記事です。

RIA のアーキテクチャーとデザインパターン (アプリ全体像編)

2 つ目は、リッチクライアントの構造について書いた記事です。こちらは、Flash 開発者の方にも読んでいただけるかもです。

RIA のアーキテクチャーとデザインパターン (リッチクライアント編)

MVC という言葉を整理してみたいと思って書きました。興味のある方はご覧下さい。

 

今週あたりから、Adobe Application Manager が起動されると Flash Professional CS5 のアップデートが通知されますが、これは、同梱されている Adobe Bridge CS5 を更新するためのもので、Flash Professional 自体には変更ありません。

Adobe Application Manager を手動で起動するには、「ヘルプ」 → 「アップデート」と選択します。

前回の記事に引き続き、StageVideo クラスの話題です。今回は、StageVideo クラスの属性をいくつか紹介します。

表示領域の設定

StageVideo は、表示オブジェクトではありません。そのため、表示する位置や大きさの設定も、少し独特です。x, y, width, height といった属性は存在しません。

StageVideo の表示位置と表示サイズを指定するには、viewPort 属性を使います。

stageVideo.viewPort = new Rectangle(10, 10, 320, 240);
 

viewPort 属性には、Rectangle オブジェクトを設定します。Rectangle オブジェクトには、表示する位置と大きさをピクセルで指定します。

最初の 2 つの数値が位置の指定になります。それぞれ、横方向と縦方向に、ステージ左上の角から表示位置までの距離を表します。この数値は、-8192 から 8191 の間で指定します。表示領域を、完全にステージ外に移動することもできそうです。

残り 2 つの数値は表示領域の大きさです。こちらも横方向、縦方向の順番です。viewPort の大きさを、表示するステージより大きくすることもできます。

パンとズーム

以下の表示関連の属性を使うと、パンやズームを行うことができます。

Flash Player 10.2 から新しいビデオ機能の Stage Video が追加されますが、既に、Stage Video を利用するための新しいクラス StageVideo の仕様が、公開されています。これは、AIR for TV 用の仕様として公開されたものです。

また、Labs に公開されている、次期 Flex SDK "Hero" のプレビュー版を使うと、StageVideo を利用したコンテンツの開発が行えます。

ということで、この記事では、flash.media.StageVideo クラスの仕様 (現時点の) を解説します。Stage Video の使い方については、前回の記事をご覧下さい。

StageVideo のインスタンスの取得

StageVideo はハードウェア機能を利用します。そのため、スクリプト内で勝手にインスタンスをいくつも作成する、ということはできません。

Stage クラスに新しく追加された stageVideos 属性から、StageVideo のインスタンスを取得します。その際、使えるインスタンスが存在しない、ということもあり得ます。

var vec:Vector.<StageVideo> = stage.stageVideos;
var stageVideo:StageVideo;
if ( vec.length >= 1 )
{
  stageVideo = vec[0];
}
 

利用できる StageVideo の数は、通常 0 から 8 の間です。デバイスでは、0 か 1 になることが多いようです。利用できる StageVideo の数は、その他の状況によっても、都度変わります。

Flash Player の新しいビデオ再生機能である Stage Video についての情報です。

Stage Video は、Flash Player 10.2 ベータもしくは Flash Player "Square" から利用できます。また、いくつかのデモが Adobe Labs に紹介されています。(Flash Player 10.2 Beta: Stage Video

Stage Video のしくみ

Stage Video では、従来のビデオ再生と比較して、CPU の使用率、必要なメモリの量が、共に削減されます。これは、ハードウェアの機能を利用しているためです。

従来のビデオ再生機能 (Video クラスのインスタンスを使用) は、表示リストの一部としてステージ上に描画されます。表示リストを描画するのは CPU の役割なので、ビデオ画像と他の表示リストの要素 (ムービークリップやビットマップなど) の合成は、CPU が行います。

これに対して、Stage Video では、表示リストのステージとは別の、"Stage Video 専用ステージ" にビデオが描画されます。そして、2 つのステージの合成は GPU が行います。CPU は、ビデオ以外の要素を描画するだけでよくなるため、負担が減るというわけです。

ビデオの描画プロセスは、以下の 2 つのステップに分けることができます。

  1. ビデオデータのデコード
  2. 表示用の加工 (位置、大きさなど) と他の表示データとの合成

上で書いたように、ステップ 2 は、従来のビデオでは CPU、Stage Video では GPU で行われます。ステップ 1 は、コーデックに依存します。H.264 であれば、デコードに GPU が使われますが、それ以外では CPU が使われます。

つまり、以下の 4 つの組み合わせがあるわけです。

Flash Player 10.2 のベータ版が Adobe Labs に公開されました。(Flash Player 10.2@Labs

基本的には、以前、"Square" というコードネームで公開されていた Flash Player の更新です。ダウンロードは、こちらから。(Flash Player 10.2 beta @Labs Downloads

Flash Player 10.2 ベータには 64 bit 版は公開されていません。64 bit 版が必要な方は引き続き Square として公開されているビルドをお使いください。

Flash Player 10.2 ベータ版をインストールする場合は、その前に既存の Flash Player をアンインストールします。アンインストーラーも、上記のリンクから提供されています。

今回公開されたのは、デスクトップ向けの Flash Player のみです。デバイス向けはもう少し先になるとのことです。Flash Player 10.2 の正式公開は、来年前半が予定されています。

新機能

Square から、さらにいくつかの新機能が追加されています。

  • Stage Video:ビデオのデコードから表示まで全てハードウェアで行う。必要な CPU やメモリを削減する一方、より高品質なビデオ再生が可能。全てのビデオコーデックが恩恵を受ける
  • IE9 の GPU 描画機能サポート:IE9 の新しいハードウェア描画機能に対応
  • マウスカーソル:ネイティブのカスタムマウスカーソルが利用可能。従来の方法に比べてパフォーマンスが改善 (AS 不要)
  • 複数モニター環境でのフルスクリーンモードサポート:片方のモニターでフルスクリーン表示をしながら、別のモニターでの通常表示が可能

2014年1月

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
レンタルサーバー

月別 アーカイブ

Powered by Movable Type 4.261