Ошибка AS3 # 1502 - PullRequest
       13

Ошибка AS3 # 1502

5 голосов
/ 17 июля 2011

AS3 Ошибка: ошибка № 1502. Сценарий выполнялся дольше, чем период ожидания по умолчанию, равный 15 секундам.

Есть ли способ временно отключить это для определенного блока кода?

Я создаю ОГРОМНЫЙ динамический 3d-массив объектов, 1000x1000x1000, и мне нужна сборка, чтобы завершить инициализацию.

Ответы [ 4 ]

6 голосов
/ 17 июля 2011

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

http://www.senocular.com/flash/tutorials/asyncoperations/

3 голосов
/ 17 июля 2011

Увеличение времени ожидания является одним из вариантов, однако я бы также предложил рассмотреть подход, который бы строил ваши массивы по нескольким кадрам, который делит работу на отдельные задания. Пока вы периодически возвращаете управление проигрывателю Flash Player, вы не получите это исключение.

Я не уверен в специфике вашей проблемы, однако вам нужно будет найти способ распараллелить или просто сегментировать ваши вычисления. Если ваш алгоритм сосредоточен вокруг одного основного цикла, то подумайте о создании функции, которая принимает все аргументы, необходимые для записи контекста одной итерации. Затем создайте простой цикл управления, который будет вызывать эту функцию и определять, когда ждать следующего кадра, а когда - нет. Использование затворов AS3 также может помочь в этом.

0 голосов
/ 18 июля 2011

Я не одобряю опцию увеличения тайм-аута. Потому что за все это время ваше приложение просто зависает весь Flash player. И обычно пользователь думает, что он не работает, и заставляет его выйти.

проверьте это: Как показать текущее значение progressBar процесса в цикле в flex-as3?

И тогда вы даже можете показать прогресс, который был бы более уверенным для вас и для пользователя.

0 голосов
/ 17 июля 2011

Найдите ограничение по времени выполнения скрипта в «Настройках публикации» (Flash). Если вы используете Flex, возможно, этот может быть полезен: http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_14.html (проверьте предельные значения по умолчанию для сценария, максимальная глубина рекурсии, максимальное время выполнения) Ой! Кажется, нет никакого способа заставить его вести себя по-другому на конкретном фрагменте кода (это глобальная настройка).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...