У меня есть приложение, написанное на flash (на самом деле оно написано на Haxe и работает под SHWX, но здесь это не имеет значения). У меня есть довольно сложная задача, которая потребляет много ресурсов процессора и иногда выполняется более 15 секунд. Если это произойдет, у меня появится сообщение об ошибке: "Сценарий выполнялся дольше установленного по умолчанию периода ожидания, равного 15 секундам". и все рушится.
Я знаю, что могу использовать продолжения, чтобы этого не произошло, но есть ли способ продлить этот "период ожидания по умолчанию"? Это инструмент разработчика, отзывчивость не имеет большого значения.
Ответ 3 · рейтинг 1 · Tarnay Kálmán
При тестировании приложения помните о свойстве scriptTimeLimit. Если инициализация приложения занимает слишком много времени, Flash Player предупреждает пользователей о том, что Flash Player замедляется из-за сценария, и предлагает пользователю прервать работу приложения. В этом случае можно установить для свойства scriptTimeLimit тега более длительное время, чтобы у приложения Flex было достаточно времени для инициализации.
Однако значение свойства scriptTimeLimit по умолчанию равно 60 секундам, что также является максимальным, поэтому вы можете увеличить это значение только в том случае, если ранее вы установили для него более низкое значение. Вам редко нужно изменять это значение.
Источник: http://livedocs.adobe.com/flex/3/html/help.html?content=performance_05.html
Ответ 4 · Swaroop C H
Я не уверен, есть ли что-то более родное для этого, но, кажется, есть команда , которая взламывает SWF, чтобы добавить тег ScriptLimits для увеличения периода ожидания.
Ответ 5 · рейтинг -2 · Iain
Я предлагаю разбить вашу функцию на более мелкие фрагменты и распределить их по нескольким фреймам. Таким образом, вы можете отображать анимацию прогресса, и приложение Flash не перестанет отвечать на запросы. Так, например, если вам нужно зациклить более 1000 элементов, вы делаете 100 в одном кадре, затем еще сотню в следующем кадре и т. д., пока не обработаете их все. Я бы не рекомендовал взламывать ваш swf.