Kawanet Blog II

アクセスカウンタ

help RSS KTween をバージョンアップ。さらに高速になりました!

<<   作成日時 : 2010/04/14 00:55   >>

ナイス ブログ気持玉 8 / トラックバック 0 / コメント 1

祝!#CS5 発表
というわけで、AS3 用の軽量トゥイーンエンジン KTween をバージョンアップしました。
使い方は基本的に従来と変わらず、処理速度がさらに向上しています。
ダウンロードは Google Code から。(20100413版を選んで下さい)


前回のリリース直後に、FlashDevelop 開発者の Philippe Elsass さんから
『Eaze Tween の方が速い』 というベンチマーク結果を頂きました!!
Eaze Tween は、jQuery ライクのメソッドチェーンを使う新しい Tween エンジンです。
今回リリースした KTween 1.0.1 は、最新の Eaze Tween と同等の処理速度になっています。
手元の Mac OS X 10.6.3、Core 2 Duo 2.26GHz の環境では、Eaze Tween よりも
KTween の方が速い結果が出ていますが、その差は 1%未満なので、測定誤差範囲です。


ベンチマークは、Flash Player 10.1 Release Candidate の Firefox plug-in 版を使っています。
各ライブラリは、それぞれ以下のバージョンを利用しています。

KTween - Version 1.0.1 Revision 79
BetweenAS3 - Revision 3765.
GTween - Version 2.01 (2009/12/11)
tweener - Revision 424
TweenNano – Version 1.03 (2010/04/03)
eaze-tween - Revision 74

ベンチマーク自体の ソースコードはこちら
差が小さいので、tween するスプライトの数を 2,000 個から 4,000個に増やしました。
数が増えた分、スプライトの大きさを小さくして、ついでに色もパステルぽく変えてみた。
現実的には、同時に 4,000個の tween を利用するシーンはまずないと思いますが、
コア部分の速度比較の参考に。実際には、使いやすさやライセンスなどでご判断ください。
なお KTween は MIT ライセンスなので、商用でも自由に使えます。

高速化のポイント


AOT コンパイルに限らず、PC の Flash Player も、型が決まらない変数は処理が遅いです。
AS3 の配列は、Vector と異なり任意の型の値を代入できるので、柔軟な反面、遅いです。
KTween 1.0.1 では、配列の代わりに、単方向の連結リスト構造を利用しています。
型が決まるので高速化しますし、単方向なので、循環参照によるメモリリークの心配もありません。
Vector は Flash Player 10 縛りになってしまい 9 対応の案件で使えないのと、
継承クラスのインスタンスすら代入できないので、今回のような用途では拡張性が△です。

Player・環境ごとの特性


(追記)
Flash Player のバージョン(9・10・10.1)や、その中でもリビジョン、
実行する CPU などによって AS3 VM の最適化の状況が異なります。
そのため、実行環境によって処理速度が変わる場合があります。
実際、手元のメイン環境 (Mac) では KTween が最速な結果でしたが、
別の Windows 機で実行するとBetweenAS3 が最速な場合もありました。
 
ぶっちゃけ、ここまで来ると(Tweener を除く)tween エンジンの速度差は
ユーザ体験にはほとんど全く影響を与えないので、処理速度だけで利用する
tween エンジンを選択するのは、オススメできません。
開発するときに、使い易いエンジンをご利用ください。
  
JS から来た人には、メソッドチェーンで書く Eaze Tween も良さそう。
BetweenAS3 は、AS を書いて詳細な設定や拡張ができるのがポイントか?
KTween は、シンプルにとりあえず tween したい方にオススメできます。
 

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 8
ナイス ナイス ナイス ナイス
面白い 面白い
なるほど(納得、参考になった、ヘー)
ガッツ(がんばれ!)

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(1件)

内 容 ニックネーム/日時
As a size age 14, I have no problem using a not selling my width. They are a private company that will do what they wish. Their real problem ended up being selling push up bikini's sold to 7 year olds inside 2011. What is wrong using people. http://www.margaret-river-wa.com/ ヒンドゥー紫外線神にちなんで名付けられ、紛れもなく太陽の光のように中断したところ見つけることができますらかなパテント合成皮革は全く無視されたんに行
Josephdrom
2014/07/23 23:32

コメントする help

ニックネーム
本 文
KTween をバージョンアップ。さらに高速になりました!  Kawanet Blog II/BIGLOBEウェブリブログ
[ ]