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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     たくさんのonMovieClip(enterFrame)は負荷になるか?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kirarin
Åê¹ÆNo.6081
投稿日時: 2004-4-7 16:42
職人
居住地: 彩の国
投稿: 214
使用環境:
Windows7
IE 8
Flash CS4
Flash Player WIN 10,0,45,2
-------------------------
WindowsXP Professional SP3
IE7.0
Flash 8 Professional
Flash Player 10.0.12.36
-------------------------
Windows2003 Sp1
IE6.0 SP1
Flash MX 2004 ...
Re: たくさんのonMovieClip(enterFrame)は負荷になるか?
kirainです。
マツダさん、ありがとうございますm(__)m

>スコープチェーンのせいでアクティべーションオブジェクトが残ってしまう不具合
「スコープチェーン」「アクティベーションオブジェクト」という言葉を始めて聞きました(^^;)

その意味を理解しようとネットを回遊してみました。(読んでみたページ
なんとなくイメージは分かりましたが、まだまだ理解には時間がかかりそうです

今回スクリプトを書くときに、
・varをできるだけ使う
・functionの入れ子をしない
・varで宣言したもの以外の変数はすべて_rootから書き始める
という方針ではやっていたのですが、これは意味があったのでしょうか(^^;)そ、それすらまだ理解できていない状況です。すみません。m(__)m

メモリの浪費という点については、まったく考えずに作っていました。まだまだ課題が多いです


----------------
Kirarin

野中文雄
Åê¹ÆNo.6086
投稿日時: 2004-4-7 18:20
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: たくさんのonMovieClip(enterFrame)は負荷になるか?
ML-LOGの[flash:32002] オブジェクトとイベントの関係や、[スコープチェーン]などをご覧いただくと、参考になるかもしれませんす。
引用:
kirarinさんは書きました:
「スコープチェーン」「アクティベーションオブジェクト」という言葉を始めて聞きました(^^;)


----------------
 

ゲスト
Åê¹ÆNo.6090
投稿日時: 2004-4-7 20:17
Re: たくさんのonMovieClip(enterFrame)は負荷になるか?
そのページ、絶対によいと思います。(もっと早くに見つけてたらよかったぁ)
引用:
その意味を理解しようとネットを回遊してみました。(読んでみたページ

初めの2項目は私も心がけてます。 最後の項目の目的があまりわからないのですが、ターゲットパスを明快にするという点では良いのではないかと思います。
引用:
・varをできるだけ使う
・functionの入れ子をしない
・varで宣言したもの以外の変数はすべて_rootから書き始める

今回試したのは、イベントハンドラに関数リテラルを割り当てないようにすることでした。
kirarin
Åê¹ÆNo.6106
投稿日時: 2004-4-8 11:59
職人
居住地: 彩の国
投稿: 214
使用環境:
Windows7
IE 8
Flash CS4
Flash Player WIN 10,0,45,2
-------------------------
WindowsXP Professional SP3
IE7.0
Flash 8 Professional
Flash Player 10.0.12.36
-------------------------
Windows2003 Sp1
IE6.0 SP1
Flash MX 2004 ...
Re: たくさんのonMovieClip(enterFrame)は負荷になるか?
野中さん、マツダさん、いつもありがとうございますm(__)m

「スコープチェーン」「アクティベーションオブジェクト」に関する資料、いろいろと参考になります。
直接目に見えにくいものだし、簡単なサンプルでは意識するほどのものでなかったりと、なかなか手ごわいですが、今後の糧となったと思います。

「varで宣言したもの以外の変数はすべて_rootから書き始める」というのは、単にどこにあるものなのかを意識するためにやっていました。
(というか相対パスの書き方が苦手なせいもあるかもしれません(^^;)←もちろん相対の方が便利な時もありますよね)

>イベントハンドラに関数リテラルをあてないようにする
この点は私も見直してみました。
たぶん、今は無い状況だと思います。

Flashを始めて3ヶ月ほど・・・
こちらでは本当にお世話になっております。(個人でやっているとすぐ行き詰まってしまいます
Flashは楽しいツールですが、綺麗で効率のよい作り方への道はまだまだ長そうですネ。
みなさん本当にいろいろとありがとうございますm(__)m


----------------
Kirarin

youich
Åê¹ÆNo.6168
投稿日時: 2004-4-11 5:11
職人
居住地: kobe
投稿: 349
使用環境:
Tiger
Re: たくさんのonMovieClip(enterFrame)は負荷になるか?
こんにちは、

引用:

スコープチェーンのせいでアクティべーションオブジェクトが残ってしまう不具合を


これはどういう不具合の事を言っておられるのでしょう?
swf7からはActionDefineFunction2を使うようになってるので
activationObjectには不要な変数等は残らないと思うのですが?


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

ゲスト
Åê¹ÆNo.6175
投稿日時: 2004-4-11 18:27
Re: たくさんのonMovieClip(enterFrame)は負荷になるか?
ActionDefineFunction2については良く分かりませんが、「不具合」と言ったのがまずかったのかも知れません。当たり前の結果ですから。

function createEvt():Void
{
          var foo:String = "this should be ao";
          var bar:String = "i need not it remain";
          onEnterFrame = function():Void { trace([foo, bar]) };
          //onEnterFrame = plot;
}
function plot():Void { trace([foo, bar]) };

createEvt();

上でonEnterFrameにplotを割り当てれば、createEvtのアクティべーションオブジェクトは残りません。

引用:
これはどういう不具合の事を言っておられるのでしょう?
swf7からはActionDefineFunction2を使うようになってるので
activationObjectには不要な変数等は残らないと思うのですが?
youich
Åê¹ÆNo.6195
投稿日時: 2004-4-12 13:40
職人
居住地: kobe
投稿: 349
使用環境:
Tiger
Re: たくさんのonMovieClip(enterFrame)は負荷になるか?
引用:

マツダショウタさんは書きました:
ActionDefineFunction2については良く分かりませんが、「不具合」と言ったのがまずかったのかも知れません。
当たり前の結果ですから。

ActionDefineFunction2従来のActionDefineFunctionに変わって、
FlashPlayer ver6.065から使われるスクリプト内のfunctionに対応するswfアクションです。


ActionDefineFunction2 is similar to ActionDefineFunction,
with additional features that can help speed up the execution of function calls
by preventing the creation of unused variables in the function’s activation object
and by enabling the replacement of local variables with a variable number of registers.
With ActionDefineFunction2, a function may allocate its own private set of up to 256 registers.
Parameters or local variables may be replaced with a register,
which will be loaded with the value instead of the value being stored in the function’s activation object.

引用:

function createEvt():Void
{
          var foo:String = "this should be ao";
          var bar:String = "i need not it remain";
          onEnterFrame = function():Void { trace([foo, bar]) };
          //onEnterFrame = plot;
}
function plot():Void { trace([foo, bar]) };

createEvt();

上でonEnterFrameにplotを割り当てれば、createEvtのアクティべーションオブジェクトは残りません。

もちろん何でも適材適所なのでマツダさんの言わんとしていることもよく解りますが
引用:
その意味を理解しようとネットを回遊してみました。(読んでみたページ

の"それではどうするべきだろうか?"でも同じですが、やろうとしていることというか、結果が違うと思うんです。
彼の例で言いますと、aVariableオブジェクトが返せてない。。
私の目がおかしな方から見てるのかもしれませんが(苦笑)

上記のレポートが出てから一般的にactivationObjectのマイナスのイメージが先行してしまいましたが、
今はアクションスクリプトの創作者であるGary Grossman氏が正式にactivationObjectの使用を勧めたので、また趣が変わった感もあります。


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

ゲスト
Åê¹ÆNo.6197
投稿日時: 2004-4-12 14:49
Re: たくさんのonMovieClip(enterFrame)は負荷になるか?
それはそうですよ。youichさんがおかしな方から見てるわけでもなく、仰る通り適材適所であって、これは目的が特別な場合の話です。(このスレッドでの場合、イベントハンドラメソッドが外側の関数のアクティべーションオブジェクトを使わない時という限られた状況下)
引用:
の"それではどうするべきだろうか?"でも同じですが、やろうとしていることというか、結果が違うと思うんです。
彼の例で言いますと、aVariableオブジェクトが返せてない。。
私の目がおかしな方から見てるのかもしれませんが(苦笑)

私はアクティべーションオブジェクトにマイナスのイメージは全く持ってませんよ。
引用:
上記のレポートが出てから一般的にactivationObjectのマイナスのイメージが先行してしまいましたが、
今はアクションスクリプトの創作者であるGary Grossman氏が正式にactivationObjectの使用を勧めたので、また趣が変わった感もあります。
« 1 (2)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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