[AS3] Starlingフレームワーク1.2が公開される [Edit]

2012年8月15日づけでStarlingフレームワーク1.2が公開されました。公式サイトblogの「Starling 1.2」に新たな機能が紹介されましたので、かいつまんでご説明します。

パフォーマンスの最適化

これまでのバージョンと比べて最大50%速くなりました。iPad 1で690のオブジェクトを使ったベンチマークが、1080まで増やせたそうです。また、一時的なオブジェクトをできるだけメモリしないようにすることで、ガベージコレクションの手間を減らしました。これはフレームレートの安定化につながります。

イベントシステムの改善

これまでのFlashのイベントシステムは、メモリを喰いがちでした。イベントを配信すると、つねに新たなイベントオブジェクトがつくられるからです。

  • イベント配信のメソッドとして新たにEventDispatcher.dispatchEventWith()を備えた。
    • イベントオブジェクトをプールするので、配信のたびにメモリを費やさなくなった。
  • EventクラスにEvent.dataプロパティが加わった。
    • プロパティには任意のデータが納められる。これで、イベントオブジェクトにデータを加えるだけのためにEventクラスのサブクラスを定義しなくて済む。
  • イベントリスナーの関数は、引数なしからふたつまで受取る数を好きに定められる。
    • イベントオブジェクトが要らないなら、引数に書かなくて構わない。また、第2引数には、Event.dataブロパティの値が受取れる。

Constrainedモード

Flash Player 11.4とAIR 3.4がAdobe Labsで公開され、「Stage3D Constrained Profile」が備わりました。これで、より多くのPCでStage3Dのハードウェアアクセラレーションが使えます。ただし、シェーダとテクスチャについて若干の制約が加わります。

新たなStarlingフレームワークでは、constrainedプロファイルをデフォルトにしたので、コードを一切書替えることなく、多くのユーザーがGPUモードを使えます。また、これまでのバージョンのデフォルトだったBaselineプロファイルに切替えれば、複雑なシェーダを用いる場合にも対応できます。プロファイルはStarling()コンストラクタの引数で決められるようになりました。

他のStage3Dフレームワークとの連携

Starlingフレームワークは、Away3DやFlare3Dなどとともに使えるようになりました。つまり、3Dゲームの2DユーザーインターフェイスがStarlingでつくれます。

starling-away.gif

傾斜の変形

DisplayObjectクラスに新しくDisplayObject.skewXDisplayObject.skewYプロパティが加わりました。プロパティ名が示すとおり、x軸およびy軸方向にオブジェクトを傾けることができます。

skewing.png

動作情報の追加

Starling.showStatsプロパティでステージに示される情報に、フレーム当たりの描画回数が加わりました。さらに、Starling.showStatsAt()メソッドを使えば、情報を表示する位置が定められます。

stats-draw-calls.png

コメント

この記事にコメントを書く

記事に対するテクニカルな質問はご遠慮ください(利用規約)。

その他の記事