![]() |
Тормоза...
написал некую функцию.
при определённой ситуации её код может выполняться очень долго, в следствии чего плэер выдаёт соответствующее сообщение и предлогает его абортануть. конечто можно разбить код на несколько кадров, но очень не хочется. существует ли возможность избавиться от этой проблемы? |
Оптимизировать код. Или более детально объяснить, почему он такой долгий.
|
Кинь код мне, а то не видя его можно все что угодно проверять и оптимизить.
|
Оптимизировать в моем коде, в принципе, нечего. Все написано достаточно корректно. Суть в том, что моя программа представляет собой некий "графический" редактор, в котором можно добавлять до "бесконечности" некие элементы. Скрипт, о котором я говорю, конвертит эти данные в некоторый текстовый формат. Если элементов немного- все нормально. Но если элементов n-ное количество, то и скрипт конвертор , соответственно, выполняется гораздо дольше.
У меня возник другой вопрос: флешплейер при выполнении скрипта более 15 секунд ( если я не ошибаюсь) предлагает его абортануть, а можно ли это время ( 15 секунд) увеличить, к примеру до 5 минут? Я, конечно, понимаю, что это не совсем корректное решение задачи, но если нельзя решить проблему другим способом, то на ум приходит только это. |
На твоем месте я бы написал "распределенный" по кадрам обсчет. Т.е. если элементов больше, чем твоя прога физически способна обсчитать за один кадр, то ты отображаешь прогрессбар, который апдейтишь после каждого кадра (или каждого элемента - как тебе больше нравится).
|
Там ограничение не по времени, а по количеству экшнов. То ли тридцать тысяч, то ли триста тысяч. В TechNotes'ах на Макромедии можно посмотреть. Они там, кстати, насколько я помню, рекомендуют именно такой способ - разбивать вичисления на кадры.
|
| Часовой пояс GMT +4, время: 17:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.