Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: vavaОтветов: 5

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

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

timeoutflashhaxe

Ответы

Ответ 1 · рейтинг 2 · Michael Pliskin

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

Ответ 2 · рейтинг 1 · Community

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

Ответ 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.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы