Как продлить период ожидания по умолчанию в приложении flash?

У меня есть приложение, написанное на flash (на самом деле оно написано на Haxe и работает под SHWX, но здесь это не имеет значения). У меня есть довольно сложная задача, которая потребляет много ресурсов процессора и иногда выполняется более 15 секунд. Если это произойдет, у меня появится сообщение об ошибке: «Сценарий выполнялся дольше установленного по умолчанию периода ожидания, равного 15 секундам». и все рушится.

Я знаю, что могу использовать продолжения, чтобы этого не произошло, но есть ли способ продлить этот «период ожидания по умолчанию»? Это инструмент разработчика, отзывчивость не имеет большого значения.


person vava    schedule 18.09.2008    source источник


Ответы (5)


Другой способ — связать swf-файл на основе swfmill с помощью переключателя -swf-lib и установить там этот тег ScriptLimits, haxe повторно использовать его тогда.

person Michael Pliskin    schedule 20.09.2008

в CS3+ вы просто устанавливаете свойство «Ограничение времени сценария» swf во время публикации — оно находится на вкладке flash в настройках публикации.

person Community    schedule 22.09.2009

При тестировании приложения помните о свойстве scriptTimeLimit. Если инициализация приложения занимает слишком много времени, Flash Player предупреждает пользователей о том, что Flash Player замедляется из-за сценария, и предлагает пользователю прервать работу приложения. В этом случае можно установить для свойства scriptTimeLimit тега более длительное время, чтобы у приложения Flex было достаточно времени для инициализации.

Однако значение свойства scriptTimeLimit по умолчанию равно 60 секундам, что также является максимальным, поэтому вы можете увеличить это значение только в том случае, если ранее вы установили для него более низкое значение. Вам редко нужно изменять это значение.

Источник: http://livedocs.adobe.com/flex/3/html/help.html?content=performance_05.html

person Tarnay Kálmán    schedule 08.08.2011

Я не уверен, есть ли что-то более родное для этого, но, кажется, есть команда , которая взламывает SWF, чтобы добавить тег ScriptLimits для увеличения периода ожидания.

person Swaroop C H    schedule 18.09.2008

Я предлагаю разбить вашу функцию на более мелкие фрагменты и распределить их по нескольким фреймам. Таким образом, вы можете отображать анимацию прогресса, и приложение Flash не перестанет отвечать на запросы. Так, например, если вам нужно зациклить более 1000 элементов, вы делаете 100 в одном кадре, затем еще сотню в следующем кадре и т. д., пока не обработаете их все. Я бы не рекомендовал взламывать ваш swf.

person Iain    schedule 18.09.2008