Pergunta

Eu tenho um aplicativo escrito em Flash (na verdade, ele é escrito em Haxe e executado sob SHWX mas não importa aqui). Eu tenho uma tarefa bastante complexa, que consome muita energia da CPU e às vezes executa por mais de 15 segundos. Se isso acontecer, eu tenho um erro dizendo 'Um script foi executado por mais tempo do que o período de tempo limite padrão de 15 segundos.' e tudo deixa de funcionar.

Eu sei que posso usar continuações para impedir que isso aconteça, mas há uma maneira de estender esse 'período de tempo limite padrão'? É uma ferramenta de desenvolvedor, responsivnes realmente não importa.

Foi útil?

Solução

Outra maneira é ligar um href="http://swfmill.org/" rel="nofollow noreferrer"> swfmill baseado swf via interruptor -swf-lib

Outras dicas

em CS3 + você simplesmente definir a propriedade "Script limite de tempo" do swf no momento da publicação - é na guia Flash das configurações de publicação

Eu não tenho certeza se há algo mais nativa para obter este feito, mas parece haver um comando que hacks o SWF para adicionar um ScriptLimits tag para estender o período de tempo limite.

Eu sugiro quebrar sua função em pedaços menores e espalhá-los ao longo de vários quadros. Desta forma, você pode exibir uma animação progresso e o aplicativo Flash não vai ficar sem resposta. Por exemplo, se você tem um loop mais de 1000 itens, você faz 100 em um quadro, em seguida, outros cem no próximo quadro, etc, até que tenha processado todos eles. Eu não recomendaria hacking seu swf.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top