8

フラッシュで書かれたアプリケーションがあります (実際には Haxe で書かれ、SHWX で実行されますが、ここでは関係ありません)。多くの CPU パワーを消費し、時には 15 秒以上実行されるかなり複雑なタスクがあります。その場合、「スクリプトがデフォルトのタイムアウト時間である 15 秒より長く実行されました」というエラーが表示されます。そしてすべてがクラッシュします。

継続を使用してこれを停止できることは知っていますが、その「デフォルトのタイムアウト期間」を延長する方法はありますか? これは開発者ツールであり、応答性はそれほど重要ではありません。

4

5 に答える 5

2

別の方法は、 -swf-libスイッチを介してswfmillベースのswfをリンクし、そこにこのScriptLimitsタグを設定することです。その後、haxeはそれを再利用します。

于 2008-09-20T21:48:08.400 に答える
1

CS3 +では、公開時にswfの「スクリプト時間制限」プロパティを設定するだけです。これは公開設定のフラッシュタブにあります。

于 2009-09-22T18:49:04.387 に答える
1

アプリケーションをテストするときは、scriptTimeLimit プロパティに注意してください。アプリケーションの初期化に時間がかかりすぎる場合、Flash Player は、スクリプトが原因で Flash Player の実行速度が低下していることをユーザーに警告し、アプリケーションを中止するようユーザーに促します。このような場合は、タグの scriptTimeLimit プロパティをより長い時間に設定して、Flex アプリケーションの初期化に十分な時間を確保できます。

ただし、scriptTimeLimit プロパティのデフォルト値は 60 秒であり、これは最大値でもあるため、以前に低い値に設定した場合にのみ値を増やすことができます。この値を変更する必要はほとんどありません。

ソース: http://livedocs.adobe.com/flex/3/html/help.html?content=performance_05.html

于 2011-08-08T13:07:47.913 に答える
0

これを実行するためのよりネイティブなものがあるかどうかはわかりませんが、SWFをハックしてScriptLimitsタグを追加してタイムアウト期間を延長するコマンドがあるようです。

于 2008-09-18T12:07:38.243 に答える
-2

関数を小さなチャンクに分割し、複数のフレームに分散することをお勧めします。これにより、進行状況のアニメーションを表示でき、Flash アプリケーションが応答しなくなることはありません。たとえば、1000 個のアイテムをループする必要がある場合は、1 つのフレームで 100 個を実行し、次のフレームでさらに 100 個というように、すべてのアイテムを処理するまで繰り返します。swfをハッキングすることはお勧めしません。

于 2008-09-18T13:10:42.600 に答える