AS3S.ORG

ACTIONSCRIPT 3.0 SOURCES

Tweenクラスをバージョンアップ(Ver.1.6)

Tweenクラスorg.as3s.Tweenをバージョンアップしました。
ソースコード及びダウンロードはこちらから。

今回のアップデートは主にパフォーマンスの改善です。
改善後のパフォーマンスについてはTweenBencherというベンチマークがありましたので、テストしてみました。


Benchmark results: org.as3s.Tween
——————
250 Sprites    ::    Start Lag: 0.03 seconds    ::    FPS: 99
500 Sprites    ::    Start Lag: 0.08 seconds    ::    FPS: 96
1000 Sprites    ::    Start Lag: 0.24 seconds    ::    FPS: 92
2000 Sprites    ::    Start Lag: 0.54 seconds    ::    FPS: 46
4000 Sprites    ::    Start Lag: 1.85 seconds    ::    FPS: 13

Benchmark results: TweenLite
——————
250 Sprites    ::    Start Lag: 0.01 seconds    ::    FPS: 98
500 Sprites    ::    Start Lag: 0.01 seconds    ::    FPS: 97
1000 Sprites    ::    Start Lag: 0.07 seconds    ::    FPS: 83
2000 Sprites    ::    Start Lag: 0.08 seconds    ::    FPS: 42
4000 Sprites    ::    Start Lag: 0.13 seconds    ::    FPS: 21

Benchmark results: Tweener
——————
250 Sprites    ::    Start Lag: 0.36 seconds    ::    FPS: 93
500 Sprites    ::    Start Lag: 0.09 seconds    ::    FPS: 97
1000 Sprites    ::    Start Lag: 0.23 seconds    ::    FPS: 73
2000 Sprites    ::    Start Lag: 0.63 seconds    ::    FPS: 35
4000 Sprites    ::    Start Lag: 2.18 seconds    ::    FPS: 11

Benchmark results: fl.transitions.Tween
——————
250 Sprites    ::    Start Lag: 0.02 seconds    ::    FPS: 96
500 Sprites    ::    Start Lag: 0.04 seconds    ::    FPS: 90
1000 Sprites    ::    Start Lag: 0.15 seconds    ::    FPS: 48
2000 Sprites    ::    Start Lag: 0.26 seconds    ::    FPS: 24
4000 Sprites    ::    Start Lag: 0.53 seconds    ::    FPS: 11

それぞれ処理の方法が違うため一概には判断できませんが、
少なくとも2000SpritesくらいまではTweenLiteと同等以上、Tweenerよりは良いパフォーマンスになっています。
(そもそも2000以上のスプライトを同時に動かすような場合はこれらTweenクラスを使わずに独自に処理すべきでしょう。)

なお、クラスファイルを簡素化するためにTweenEventクラスを廃止しました。
イベントタイプは以下の通り変更になります。

Tween.START ・・・Tween開始時(複数指定の場合は各Tween開始時に呼ばれます)
Tween.UPDATE ・・・Tween中、毎フレーム呼ばれます。(pause中は呼ばれません)
Tween.PAUSE ・・・pauseの設定が変更された時に呼ばれます。(pause解除時にも呼ばれます)
Tween.COMPLETE ・・・すべてのTween完了時に呼ばれます。

Written by admin

December 16th, 2007 at 2:05 am

Posted in Tween

Leave a Reply