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

StackOverflow https://stackoverflow.com/questions/91318

  •  01-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top