トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     ActionScript3.0のすごいところって?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
森 巧尚
Åê¹ÆNo.27050
投稿日時: 2006-7-18 17:52
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
ActionScript3.0のすごいところって?
「ActionScript 3.0は、言語的な処理速度が10倍になった」なんてすごいことが言われてますね。
でも、それがどのくらいのものなのかあまりピンと来ないのですが、わかる人とかやってみた人っていますか?

ピンと来なかったので、少し作って試してみました。
「一度にする計算処理」を多くすると差がわかるだろうと思って、
「5000個の点をランダムに移動させるもの」を作って、AS2とAS3の両方で同じことをさせてみました。

そうすると、AS2では使えないほど遅かったものが、AS3ではすいすい動くようになりました。
確かに速そうですが、どう思います?

ActionScript2.0版
ActionScript3.0版(Player 9がないと見れません)

面白いので、5000個のボールでの壁打ちゲーム(Player 9がないと見れません) も作ってみました(笑)。

(こんな感じ)

AS3の話題があんまり出てこないみたいですが、Flash 9プレビュー版を触ってる人ってどのくらいいるんでしょうね。


----------------
森 巧尚
http://www.ymori.com

manabe
Åê¹ÆNo.27057
投稿日時: 2006-7-18 21:42
新米
居住地: 九州の福岡の2階の隅っこ
投稿: 18
使用環境:
 Win 2000
MX 2004 pro
8 pro
IE6
Re: ActionScript3.0のすごいところって?
!!

この記事読んで、急いでPlayer 9をいれました。

なんですかこれは!!
AS3では、
「シューティングゲームとかが、激速!!」
とは、なんとなく聞いていたのですが・・・
まさか、ここまでとは!!

おそるべしAS3

お、覚えなきゃ!!
Duke15
Åê¹ÆNo.27058
投稿日時: 2006-7-18 22:01
常連
居住地: 埼玉
投稿: 196
使用環境:
XPpro,2Kpro,
MX2004prov7.2
FlashPro8
Flash9Preview α
Player8r24
Player9.0.16
Player7r63
Firefox1.5.0.5
IE6,NB8.1en
Re: ActionScript3.0のすごいところって?
AS3.0の凄いところでは無いかも知れませんが、
良くなったところ。
数値型が
Number型だけでなく
int
uint
の3種類になったことですね。

int
32bit整数。-2,147,483,648 から 2,147,483,647 まで。

unit
32-bitで正の値のみを扱える整数。0から4,294,967,295まで。

Number
Javaのdouble型と同じ。

引用:

森 巧尚さんは書きました:

AS3の話題があんまり出てこないみたいですが、Flash 9プレビュー版を触ってる人ってどのくらいいるんでしょうね。


----------------
site:
http://www.yumenext.com/
blog:
http://star.ap.teacup.com/flash/

旭日ゆうほ
Åê¹ÆNo.27059
投稿日時: 2006-7-18 23:13
Bak@Fla名人
居住地: 心は岡山
投稿: 91
使用環境:
Windows Vista Home Premium
Flash MX2004 v7.2
Flex2 SDK
Flex3 SDK
FlashDevelop3.0.0 Beta7
Re: ActionScript3.0のすごいところって?
引用:
森 巧尚さんは書きました:
そうすると、AS2では使えないほど遅かったものが、AS3ではすいすい動くようになりました。

す、すごいですね?!
AS2だとカクカクですが、AS3だと本当にスムーズになっています。
実際に同じような処理を比べたことが無かったので驚きです。

AS2版の頃とはアルゴリズムが改良されているので比べても参考になるとは思いませんが、
Bak@Fla:『爆裂スライムシAS3』
を作ったときは明らかに処理速度が上がっていると感じました。
(宣伝失礼します

AS3自体のすごいところとは少し違いますが、
FlexBuilder2のようにプログラミングの開発環境が整備されたり、
コンパイルエラーやランタイムエラーが細かく出てくれるので、
僕としてはとてもありがたい仕様になったなぁと思っています。


----------------
旭日ゆうほ
swf置いてます。AM902

森 巧尚
Åê¹ÆNo.27065
投稿日時: 2006-7-19 13:47
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: ActionScript3.0のすごいところって?
数値型が3つになりましたね。>Duke15さん

単純なループ処理で試してみました。
var t0 = getTimer();
var n:Number = 1;
for (var i:Number = 0; i < 1000000; i++) {
	n += 1;
}
t1 = getTimer() - t0;
trace(t1);

というスクリプトをAS2ですると、
9519(9.519秒)でしたが、
AS3ですると
57(0.057秒)でした。(あれ、167倍?)

ここでさらに64bitのNumber型を32bitのint型にすると、
var t0 = getTimer();
var n:int = 1;
for (var i:int= 0; i < 1000000; i++) {
	n += 1;
}
t1 = getTimer() - t0;
trace(t1);

33(0.033秒)と速くなりますね。あれ、288倍?(笑)
(1.5GHz PowerMac G4 OS10.4.7)


----------------
森 巧尚
http://www.ymori.com

Duke15
Åê¹ÆNo.27067
投稿日時: 2006-7-19 16:00
常連
居住地: 埼玉
投稿: 196
使用環境:
XPpro,2Kpro,
MX2004prov7.2
FlashPro8
Flash9Preview α
Player8r24
Player9.0.16
Player7r63
Firefox1.5.0.5
IE6,NB8.1en
Re: ActionScript3.0のすごいところって?
面白そうなので、私も試してみました。
環境:WinXPsp2 Pen4 3.8GHz

FlashMX2004pro:3397(3.4秒)

Flash8pro:2418(2.4秒)

Flash9prev:
int型:3(0.003秒)
uint型:21(0.021秒)
Number型:9(0.009秒)

AS3.0では数値型の初期値はint型とuint型は0なので
初期値の値は入れなくてもいいようです。


var t0 = getTimer();
var n:int;
for (var i:int; i < 1000000; i++) {
    n += 1;
}
t1 = getTimer() - t0;
trace(t1);

引用:

森 巧尚さんは書きました:
数値型が3つになりましたね。>Duke15さん

単純なループ処理で試してみました。
var t0 = getTimer();
var n:Number = 1;
for (var i:Number = 0; i < 1000000; i++) {
	n += 1;
}
t1 = getTimer() - t0;
trace(t1);

というスクリプトをAS2ですると、
9519(9.519秒)でしたが、
AS3ですると
57(0.057秒)でした。(あれ、167倍?)

ここでさらに64bitのNumber型を32bitのint型にすると、
var t0 = getTimer();
var n:int = 1;
for (var i:int= 0; i < 1000000; i++) {
	n += 1;
}
t1 = getTimer() - t0;
trace(t1);

33(0.033秒)と速くなりますね。あれ、288倍?(笑)
(1.5GHz PowerMac G4 OS10.4.7)


----------------
site:
http://www.yumenext.com/
blog:
http://star.ap.teacup.com/flash/

Fla4man
Åê¹ÆNo.27074
投稿日時: 2006-7-19 17:38
職人
居住地: かまくら
投稿: 517
使用環境:
WinMe,Win2000,
Flash4,アズさん,大仏、delphi
Re: ActionScript3.0のすごいところって?
なんかAS2の数字が異様に大きすぎると思うのですが

Flash5フォーマットで
forループ100万回で内部で変数に加算するという同様のものが

+=1 相当で800ms
n=n+1 相当で1sでした。
ちなみに結果はtraceを使わずにテキストフィールドへ出力しています。

WinME P4 1.8GHzです。
とりあえず

あとこれはAS2 とAS3という言語の問題ではなくて

マクロメディアVM1 V.S. アドビ VM2であり
AS3は根本的にFlashとは違うものにswfフォーマットヘッダーをつけたものであり
スクリプトとしてはそれなりに評価できるものの
「アクション部分」例えばモーションガイド相当の部分やシナリオ補完などハイエンドユーザーに必要な機能や
やると明記しているpdfとの統合による基本的クラスの再変更などを考えると
結構鬼門な気がします。

これをマスターするならばjavaでもやったほうがいいようにも思えるのですが
携帯とかもiアプリからFlashに流れているし
Flash8Basicのような安価なものがでるならばいいかもしれませんが

FLVに楽譜のように再生シーケンスをつけるとか
絵コンテとシナリオとか
そういった部分をちゃんとやって欲しかったなぁというのが私の私感です。

互換性を考えてコンテンツはpdf統合版が出るまではAS3には手をださない方向で
むしろFlash4どころかFlash2的にコンテンツ作りを頑張りたいと思わせてくれたという点で
AS3はすごい。


----------------
通常のハンドル名:×○○× ねた回収モードに突入 現在1/100

youich
Åê¹ÆNo.27080
投稿日時: 2006-7-19 19:04
職人
居住地: kobe
投稿: 349
使用環境:
Tiger
Re: ActionScript3.0のすごいところって?
引用:

Fla4manさんは書きました:
なんかAS2の数字が異様に大きすぎると思うのですが

Flash5フォーマットで
forループ100万回で内部で変数に加算するという同様のものが

+=1 相当で800ms
n=n+1 相当で1sでした。
ちなみに結果はtraceを使わずにテキストフィールドへ出力しています。

そんな早いんですか?(^^
かは解らないですけどPlayer8、7ではASFunction2+ローカル変数を使うのと
使わないのではかなり違うと思います。Player6以降早くなったっていうのもそこが
おおきなポイントですよね。

var t0 = getTimer();
var n:Number = 1;
for (var i = 0; i<1000000; i++) {
	n += 1;
}
t1 = getTimer()-t0;
trace(t1);

//----------------------------------------

function foo() {
	var t = getTimer();
	var n = 1;
	for (var i = 0; i<1000000; i++) {
		n += 1;
	}
	trace(getTimer()-t);
}
foo();

出力
9544
2611

先の森さんのサンプルをローカル変数を使う様にすると
http://as-coders.nct.jp/yo/bm/
ぐらいまでいけるんじゃないかとおもうけど、でもやっぱり9とは全然差がありますね。
引用:

あとこれはAS2 とAS3という言語の問題ではなくて

マクロメディアVM1 V.S. アドビ VM2であり

それは言えると思うけど、VM2がAS3でしか走らない仕様だし。。。


----------------
- yo

森 巧尚
Åê¹ÆNo.27087
投稿日時: 2006-7-19 21:41
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: ActionScript3.0のすごいところって?
引用:

youichさんは書きました:
Player8、7ではASFunction2+ローカル変数を使うのと
使わないのではかなり違うと思います。

出力
9544
2611

おお。ローカル変数を使うとけっこう差が出ますね。

同じソースを使って、AS3で試してみました。
が、AS3ではあまり差はでませんでした。というか微妙というか・・

「Number」
57
65

「int」
33
28

引用:

それは言えると思うけど、VM2がAS3でしか走らない仕様だし。。。

Player9の中にはAS1/2用のAVM1とAS3用のAVM2が両方入ってます。
(だからこれまでのswfがみんなちゃんと動くわけですが・・)
ところが、描画処理とかサウンド処理とか、Flashで一番よく使って、重さに影響してくるような部分は同じエンジンを使ってるんですね。


だから、逆に計算処理は単純にして、描画処理ばっかりにするとそんなに速度差は出ないことになります。

ということで、800x800のjpgを回転させるだけのプログラムを作って見ました。
軽くするためにbitmapDataを使って描画させているのですが、結果は2.0と3.0ではほとんど変わらなかったのです。

ActionScript2.0版
ActionScript3.0版(要Player 9)

さらに、ActionScriptなしで、モーショントゥイーンだけのバージョンを作ったのですが、なんとこれが一番高速だったのです!

ActionScriptなし版

単純に「高速」という言葉だけを聞いて過信するのは要注意ですね。

ActionScript3.0が高速というのはあくまで「言語レベル」のことのようですね。


----------------
森 巧尚
http://www.ymori.com

Duke15
Åê¹ÆNo.27135
投稿日時: 2006-7-20 22:25
常連
居住地: 埼玉
投稿: 196
使用環境:
XPpro,2Kpro,
MX2004prov7.2
FlashPro8
Flash9Preview α
Player8r24
Player9.0.16
Player7r63
Firefox1.5.0.5
IE6,NB8.1en
Re: ActionScript3.0のすごいところって?
題目と少しズレるかも知れませんが、

AS3.0というか、Flash9 AS3.0 Preview アルファ版は
通常は30日トライアルですが、
このバージョンは、正式な製品が出るまで、使えるそうですね。
なので、結構、中身を知る上では、大いに使えるので
Flash8proお持ちの方はインストールしてみる価値はあると思いますよ。


----------------
site:
http://www.yumenext.com/
blog:
http://star.ap.teacup.com/flash/

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops