2008-09-18 12 views
8

Tengo una aplicación escrita en flash (en realidad está escrita en Haxe y se ejecuta bajo SHWX pero no importa aquí). Tengo una tarea bastante compleja que consume mucha potencia de la CPU y, a veces se ejecuta durante más de 15 segundos. Si eso sucede, tengo un error que dice 'Un script se ha ejecutado durante más tiempo que el período de tiempo de espera predeterminado de 15 segundos'. y todo se cuelga¿Cómo extender el período de tiempo de espera predeterminado en la aplicación flash?

Sé que puedo usar continuaciones para evitar que esto suceda, pero hay una manera de extender ese 'período de tiempo de espera predeterminado'? Es una herramienta de desarrollo, las respuestas realmente no importan.

Respuesta

2

Otra forma es vincular un swf basado en swfmill mediante el modificador -swf-lib y establecer esta etiqueta ScriptLimits allí, haxe lo volverá a utilizar entonces.

-2

Sugiero romper su función en trozos más pequeños y difundirlas a través de múltiples tramas. De esta forma, puede visualizar una animación de progreso y la aplicación Flash no dejará de responder. Entonces, por ejemplo, si tiene que pasar más de 1000 elementos, hace 100 en un marco, luego otros cien en el siguiente cuadro, etc., hasta que los haya procesado todos. No recomendaría hackear tu swf.

1

en CS3 + sólo tiene que establecer la propiedad "Guión tiempo límite" del SWF al momento de la publicación - que se encuentra en la pestaña de inflamación de la configuración de publicación

1

Cuando se prueba la aplicación, ser consciente de las scriptTimeLimit propiedad. Si una aplicación tarda demasiado tiempo para inicializar, Flash Player advierte a los usuarios de que un guión está causando Flash Player para ejecutar lentamente y mensaje al usuario para abortar la aplicación. Si esta es la situación, se puede establecer la propiedad scriptTimeLimit de la etiqueta a un tiempo más largo para que la aplicación Flex tiene tiempo suficiente para initialize.

Sin embargo, el valor predeterminado de la propiedad es de 60 scriptTimeLimit segundos, que es también el máximo, por lo que sólo puede aumentar el valor si se ha ajustado previamente a un valor inferior. Raramente necesita cambiar este valor.

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

Cuestiones relacionadas