Frage

Ich habe eine Anwendung in Flash geschrieben (eigentlich ist es in Haxe geschrieben und läuft unter SHWX aber es spielt hier keine Rolle). Ich habe eine ziemlich komplexe Aufgabe, die viele CPU-Leistung verbraucht und manchmal führt für mehr als 15 Sekunden. Wenn das passiert, habe ich einen Fehler bekam sagen: ‚Ein Skript für länger als die Standard-Timeout-Periode von 15 Sekunden ausgeführt wird.‘ und alles stürzt ab.

Ich weiß, ich Fortsetzungen verwenden kann dies nicht passiert zu stoppen, aber ist es eine Möglichkeit zu erweitern, dass ‚Standard-Timeout-Zeit‘? Es ist ein Entwickler-Tool, hat responsivnes nicht wirklich wichtig sind.

War es hilfreich?

Lösung

Ein andere Möglichkeit ist es, einen swfmill -basierte swf über -swf-lib-Schalter zu verbinden und diesen ScriptLimits Tag dort gesetzt , haxe wird es wiederverwenden dann.

Andere Tipps

in CS3 + Sie einfach die „Script Zeitgrenze“ Eigenschaft der swf veröffentlichen Zeit eingestellt - es ist im Flash-Register der Veröffentlichungseinstellungen

  

Wenn Sie Ihre Anwendung testen, beachten Sie das script   Eigentum. Wenn eine Anwendung zu lange dauert, zu initialisieren, Flash Player   warnt Benutzer, dass ein Skript Flash Player langsam laufen verursacht und   fordert den Benutzer auf, die Anwendung abzubrechen. Wenn dies der Fall ist,   Sie können die Eigenschaft script des Tags gesetzt   so auf eine längere Zeit, dass die Flex-Anwendung hat genug Zeit, um   initialisieren.

     

Allerdings ist der Standardwert der Eigenschaft script 60   Sekunden, die auch das Maximum ist, so können Sie den Wert nur erhöhen   wenn Sie es vorher auf einen niedrigeren Wert eingestellt. Sie müssen nur selten   Ändern Sie diesen Wert.

Quelle: http: //livedocs.adobe. com / flex / 3 / html / help.html? content = performance_05.html

Ich bin mir nicht sicher, ob es etwas mehr heimisch ist dies getan, aber es scheint ein zu sein Befehl, der die SWF-Hacks einen ScriptLimits Tag hinzuzufügen die Timeout-Zeit zu verlängern.

Ich schlage vor, Ihre Funktion in kleinere Stücke brechen und sie über mehrere Rahmen zu verbreiten. So können Sie einen Fortschritt Animation angezeigt werden können und die Flash-Anwendung nicht mehr reagiert. So zum Beispiel, wenn Sie eine Schleife über 1000 Einzelteile haben, tun Sie 100 in einem Rahmen, dann einer anderen hundert in dem nächsten Frame, usw., bis Sie bearbeitet haben sie alle. Ich würde Hacking Ihre swf nicht empfehlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top