2008-09-18 12 views
8

Ich habe eine Anwendung in Flash geschrieben (eigentlich ist es in Haxe geschrieben und unter SHWX ausgeführt, aber es spielt hier keine Rolle). Ich habe eine ziemlich komplexe Aufgabe, die viel CPU-Leistung verbraucht und manchmal für mehr als 15 Sekunden ausgeführt wird. Wenn das passiert, habe ich einen Fehler, der besagt "Ein Skript wurde länger als die Standard-Zeitüberschreitung von 15 Sekunden ausgeführt." und alles stürzt ab.Wie kann die Standard-Zeitüberschreitung in der Flash-Anwendung verlängert werden?

Ich weiß, ich kann Fortsetzungen verwenden, um dies zu verhindern, aber gibt es eine Möglichkeit, diese "Standard-Timeout-Periode" zu verlängern? Es ist ein Entwickler-Tool, Responsives spielt keine Rolle.

Antwort

2

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 dann wieder verwenden.

-2

Ich empfehle, Ihre Funktion in kleinere Stücke zu zerlegen und sie über mehrere Frames zu verteilen. Auf diese Weise können Sie eine Fortschrittsanimation anzeigen und die Flash-Anwendung reagiert nicht mehr. Wenn Sie zum Beispiel über 1000 Elemente durchlaufen müssen, machen Sie 100 in einem Frame, dann weitere hundert im nächsten Frame usw., bis Sie alle verarbeitet haben. Ich würde nicht empfehlen, deine swf zu hacken.

1

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

1

Wenn Sie Ihre Anwendung testen, beachten Sie das script Eigentum. Wenn das Initialisieren einer Anwendung zu lange dauert, warnt Flash Player die Benutzer, dass ein Skript Flash Player langsam ausführen lässt, und fordert den Benutzer auf, die Anwendung abzubrechen. Wenn dies der Fall ist, können Sie die scriptTimeLimit -Eigenschaft des Tags auf einen längeren Zeitraum festlegen, damit die Flex-Anwendung genügend Zeit hat, initialisieren.

jedoch die Standardwert der Eigenschaft ist script 60 Sekunden, was auch die maximale ist, so dass Sie nur den Wert erhöhen, wenn Sie es vorher auf einen niedrigeren Wert eingestellt haben. Sie müssen diesen Wert nur selten ändern.

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