FlashのActionScriptで3×500くらいの2次元配列を宣言し,数MBのテキスト情報を入れたいのですが,仕様での制限などはありますでしょうか?


また,Flashで同じようなことをした方で,どのくらい負荷がかかったかなどの体験談もお聞きしたいです.

回答の条件
  • 1人5回まで
  • 登録:2007/05/28 08:48:14
  • 終了:2007/06/02 10:45:24

ベストアンサー

id:grand_majesty No.1

grand_majesty回答回数37ベストアンサー獲得回数42007/05/28 17:14:11

ポイント100pt

配列の要素一つ一つに数MBのテキストをということですか?

それとも全要素で数MBということですか?

前者は現実的ではないので後者だと判断して回答致します。

結論から申しますと、何の問題もありません。

実測値ですが、PentiumM1.6GHz,DDR1Gの環境で下記コードを

実行したところ平均0.016秒で終了しました。

var start = new Date().getMilliseconds();

var main:Array = new Array();

for(i = 0; i < 3; i++){

var sub:Array = new Array();

for(j = 0; j < 500; j++){

sub.push("【ここに20k程度のテキスト】");

}

main.push(sub);

}

trace((new Date().getMilliseconds() - start)/1000);

また、全要素にアクセスし、traceで出力した場合(Array.toString()は使用しない)は5分以上帰ってきませんでした。

(当たり前と言えば、当たり前ですが・・・)

単純に全要素にアクセスするだけであれば、1秒以下です。

上記の計測は全てローカルで行っています。ネットワークを介してテキストのやりとりを

行うと処理時間は単純に増加します。ADSL以上の環境であればストレスに

なることはないと思います。

質問内容を旨く汲めなかった為、回答が的外れであればポイントは結構です。

id:Ficus_palmeri

書き忘れていたのですが実はローカルでの処理が知りたかったので,ばっちりでした.

ありがとうございます.

2007/05/28 20:03:16

その他の回答(1件)

id:grand_majesty No.1

grand_majesty回答回数37ベストアンサー獲得回数42007/05/28 17:14:11ここでベストアンサー

ポイント100pt

配列の要素一つ一つに数MBのテキストをということですか?

それとも全要素で数MBということですか?

前者は現実的ではないので後者だと判断して回答致します。

結論から申しますと、何の問題もありません。

実測値ですが、PentiumM1.6GHz,DDR1Gの環境で下記コードを

実行したところ平均0.016秒で終了しました。

var start = new Date().getMilliseconds();

var main:Array = new Array();

for(i = 0; i < 3; i++){

var sub:Array = new Array();

for(j = 0; j < 500; j++){

sub.push("【ここに20k程度のテキスト】");

}

main.push(sub);

}

trace((new Date().getMilliseconds() - start)/1000);

また、全要素にアクセスし、traceで出力した場合(Array.toString()は使用しない)は5分以上帰ってきませんでした。

(当たり前と言えば、当たり前ですが・・・)

単純に全要素にアクセスするだけであれば、1秒以下です。

上記の計測は全てローカルで行っています。ネットワークを介してテキストのやりとりを

行うと処理時間は単純に増加します。ADSL以上の環境であればストレスに

なることはないと思います。

質問内容を旨く汲めなかった為、回答が的外れであればポイントは結構です。

id:Ficus_palmeri

書き忘れていたのですが実はローカルでの処理が知りたかったので,ばっちりでした.

ありがとうございます.

2007/05/28 20:03:16
id:NYO No.2

NYO回答回数35ベストアンサー獲得回数82007/05/28 21:47:17

ポイント100pt

ローカル環境でですが、

2.5次元のレーシングゲームのようなプログラムを組んだことがあります。

座標を入れておくのに3x100程度の配列をいくつか使用して、

毎フレーム計算(30fps)していたのですが、

●配列が大きくなると処理が重くなる(当然ですが)

●Playerによって処理速度が大きく異なる

再生環境の概要は以下のリストです。

1.XP Athron64 3500+

2. OSX CoreDuo 1.83

3. XP Celeron ???

それぞれ、ver.8のSAPlayerとIEプラグイン

3x100程度であれば

どの環境でも処理がでも30fpsを維持しました。

配列が200程度になると、

IntelMacでは10fpsが限界でしたね…。

他はぼちぼち20後半~30fpsでした。

ver.9のPlayerでは同じソース(AS2.0)でも、

IntelMacが30fpsを維持しました。

////////////////////////////////////////

処理内容が異なることと、

扱う情報量が数メガもないことは大きく異なりますが、

●大きな配列は扱い可能(上限は不明)

●同じローカル環境でも"環境"によって大きく異なる

と言えます。

(ダミーです)http://www.midorigaoka.co.jp/

id:Ficus_palmeri

ありがとございます.

メインがテキスト処理ですので,少し楽観視できるかもしれないです.

2007/05/28 21:58:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません