ActionScript3.0の速さを体感してみよう!
2007年03月22日 プログラミングTIPS
「Flex2,ActionScript3.0が優れている9の理由とAjaxとの差」でActionScript3.0がActionScript2よりも最大10倍速くなったと書きました。
その中の反応として、
確かにAS3は、最大で10倍速くなりましたが、この言われ方だと、
「ほとんど実用の面では速くなっていないのに、ある特殊な環境下においてのみ10倍速い」
と思われてしまったようで、残念な部分がありました。
同じような処理をするプログラムを書いて、実際に動作比較用のサンプルを用意できれば良かったのですが、AS2の開発環境を持っていないので、比較することができませんでした。
今回、自分では比較用サンプルを用意できませんでしたが、素晴らしいFlashアプリを見つけましたので、ぜひ確認してみてください。
その中の反応として、
どうせ、”最大で”だろという反応がありました。
確かにAS3は、最大で10倍速くなりましたが、この言われ方だと、
「ほとんど実用の面では速くなっていないのに、ある特殊な環境下においてのみ10倍速い」
と思われてしまったようで、残念な部分がありました。
同じような処理をするプログラムを書いて、実際に動作比較用のサンプルを用意できれば良かったのですが、AS2の開発環境を持っていないので、比較することができませんでした。
今回、自分では比較用サンプルを用意できませんでしたが、素晴らしいFlashアプリを見つけましたので、ぜひ確認してみてください。
そのFlashアプリは、BeInteractive! [AS3は一体どれだけ速いのか?]にあります。
ここでは、「AS2による3Dフラットシェーディング」と「AS3による3Dフラットシェーディング」を比較しています。
Windowsマシンを使っている方は、「タスクマネージャ」を立ち上げてパフォーマンスを確認してみてください。
まずは、AS2のドーナツ6分割から。
- ドーナツ(6分割)
自分のPen4 2.4GHzマシンでは、CPU使用率が30〜40%程度です。
ポリゴン数は30程度です。
確かに、ドーナツ型ではありますが、形はかなりカクカクです。
分割数は6から12へ、2倍になっています。
- ドーナツ(12分割)
自分のPen4 2.4GHzマシンでは、CPU使用率が80%程度です。
ポリゴン数は130程度です。
分割数が2倍に増えたことで、ドーナツが滑らかになりましたが、処理はかなり重くなりました。
分割数は、12から24へ、さらに2倍になっています。
- ドーナツ(24分割)
自分のPen4 2.4GHzマシンでは、CPU使用率が40%〜60%程度です。
ポリゴン数は460程度です。
分割数が2倍に増えて、どれだけ処理が重くなるのかと思っていたら、むしろAS2の12分割時よりも軽くなりました。ドーナツも滑らかで動きも速いです。
どうでしょうか?
ActionScript3.0の速さは体感できたでしょうか?
”最大”で10倍であることは確かですが、実際のパフォーマンスとしてこれだけ速くなっていれば十分な速さではないでしょうか?
ブラウザでこれだけ3Dポリゴンを動かせるというのも、驚きです。
今回は3Dの処理速度比較でした。
3Dを使ったゲーム、とくにFPSが要求されるシューティングゲームなどでそのパフォーマンスを活かせることがわかったと思います。
グラフィカルなメニューとして3D表示するのもありかもしれません。
Flashファイルを開いてから実行するまでの待機時間が短いという点でも、Javaアプレットなどと比べて優位性があるのがわかると思います。
興味を持った方は、
などから、ActionScript3.0を始めてみてください。