2013年1月5日土曜日

Quartz comporser のiteratorを使ってみる。

Quartz Comporser のiteratorは結構概念が難しいです。が、使いこなすと結構幅の広い表現が可能です。
もともとiteratorは反復するためのものの意味で反復子です。

Quartz Comporser では
まず、iteratorを配置。(これは実はマクロ)角っちょが角張っていますので、クリックすると開けます。
色々試して行く中で、一番勉強になったのがサンプルのアニメーションです。
これで、イテレーターの概念について見てみましょう。
sampleの中にあるクラウドのアニメーションです。
これをダブルクリックすると。
こんな感じになっています。
この中に、反復させたい処理をどんどん入れこんで行く形になります。
ちなみにサンプルのコメント(黄色い所ね。)には結構有意義な事が書いてあるので、英語だけど頑張って読みましょう。
ザックリ解説すると、右側から値を受け取って、上から、位置、サイズ、アルファを管理して、描画するという物です。イテレーターの内部は、一つの雲の描画を司っていて、これを複数描画する処理を上の階層でやってます。
イテレーションの処理は最初から構築すると混乱しがちなので、最初はこのサンプルを編集して勘所を覚えると良いかも知れません。

で、メリットなんですが、比較した所、連続した描画関連はイテレーターの中に一括でぶち込んで処理を行った方が、フレームレートが稼げます。(処理落ちしにくい。)
基本的にQuartzの使い方として、別に処理落ちしてもあんまり困る事も無いのですが、デバックの時にレスポンスが全然良かったりするので、工夫してイテレーターの中で処理を行う様にすると、パフォーマンスにだいぶ差が出ます。
この辺りQuartzは組み方によってだいぶ速度に差が出るので研究の余地があるかと思います。

0 件のコメント:

コメントを投稿