2012年7月2日月曜日

Starling公式デモアプリの補足情報

Ctrl/Cmd & Shiftキーとマウスの組み合わせでマルチタッチ操作をシミュレーションできることは前にも触れましたが、これはStarlingのフレームワークの機能です。StarlingクラスのプロパティsimulateMultitouchをtrueに設定するとその機能が有効になります。

それ以外にも、このデモアプリではキー操作による(画面上では説明がないちょっとした隠し)機能が用意されています。

スペースキーを押すと

FPSとメモリ使用量を画面左上に表示します。もう一度押すと消えます。

負荷をできるだけ抑えるためでしょうが、Flashでよく使われるStatsと比べるとかなりこじんまりしています。ちなみにRetinaディスプレイのiPhoneだと顔を近づけないと読めないぐらいの小ささになります。

使われているフォントはminiというビットマップフォントで、>Starlingのフレームワークに唯一付属しているものです。何か画面上にデバッグ情報を表示するような場合にもこのフォント使えば負荷を抑えられていいかもしれせん。

xキーを押すと

Starlingが使用しているContext3Dを開放します。これによりStarling.handleLostContextの設定によるアプリの挙動を確認できます。このデモアプリではhandleLostContext=trueになっているので、フレームワークによりContext3Dがすぐに再生成され画面上では変化が分かりません。描画の更新が一時的に遅延するぐらいです。

見た目で分かりやすりのは、Render Textureシーンでです。xキーを押すと書いていた絵が消えます。

RenderTextureクラスの注意書きにもcontextが消失したら復元できないとあります。RenderTexteはGPUのメモリ上でダイレクトに描画処理を行うため、Context3Dがなくなると復元するための情報が残っていないということなんでしょう。恐らくActionScriptで別に情報を保持しておいて、Context3Dが再生成されたときのイベント(context3DCreate)をキッカケに再度RenderTexteに描画し直せば、復元できるかもしれません。

ちなみにスペースキーとxキーのハンドリングはGameクラスのここで行なっています。

ATF(Adobe Textutre Format)について

StarlingのデモアプリにはATFが使わているのに、ATFを生成するツールがまだ一般に公開されていないという状況が続いてましたが、エンコーダー/デコーダー機能を持つ、AS3で書かれたオープンソースのライブラリATF-Encoderが公開されました。

また、ByteArray.orgのThibaultさんの投稿によると、まもなくAdobe LabsにATFのツールが公開されるとのことです。ATFを使うとレンダリングが早くなったり、メモリー必要量が減ったりするようです。GPUをより効率的に使えるみたいですね。

1 件のコメント:

  1. ATFのツールが公開されました。
    http://cuaoar.jp/2012/10/atf-sdk.html

    返信削除

コメントありがとう