Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Долгий while и script is slowly (http://www.flasher.ru/forum/showthread.php?t=115279)

xMailer 25.08.2008 16:48

Долгий while и script is slowly
 
Требуется отрисовать порядка 6000 и более полигонов/полилиний максимальная скорость отрисовка это
Код:

for(i=0;i<=кол_во_объектов;i++){
  отрисовка
}

в результате чего возникает сообщение flash player о подвисании скрипта (лимит выполнения скрипта в кадре до 15 секунд).
При поиске решения данной проблемы была найдена следующая возможная реализация http://www.flasher.ru/forum/showthread.php?t=113428:
Код:

var nstart:Number = 0;
var nfinish:Number = кол_во_объектов;
var nlimit:Number = 500;
var nlooping:Number;

var intervalID:Number = setInterval(Looping, 1);
function Looping() {
        nlooping = 0;
        while(true){
            if(nlooping >= nlimit) {
                        return;
                  }
                if(nstart > nfinish) {
                        break;
                }
                trace(nstart);
                nlooping++;
                nstart++;
        }
        clearInterval(intervalID);
          return;
}

Вывод по 500 значений переменной цикла. Является такая реализация оптимальной или существуют более рациональные способы?

Obi 25.08.2008 16:52

Можно просто script time limit компилятору по-больше задать...
Ну а вообще, не дело это по 6к полигонов на ас1-2 отрисовывать. Возможно существует какой-то обходной вариант, который займет меньше ресурсов?

xMailer 25.08.2008 17:24

Цитата:

Сообщение от Obi (Сообщение 760156)
Ну а вообще, не дело это по 6к полигонов на ас1-2 отрисовывать. Возможно существует какой-то обходной вариант, который займет меньше ресурсов?

да вроде как вариантов остается немного, очевидный генерить image на php (типа google maps) и подгружать во flash, но тогда прощая вектор. Хотелось бы взять готовый map движок и вместо готового MovieClip с картой нарисовать то, что мне нужно

qazwsx 26.08.2008 10:13

Возможно если написать что ты хочеш делать тебе дадут какието советы по оптимизации?

CorC 26.08.2008 10:42

вместо for надо setInterval использовать, и без тормозов все будет...

qazwsx 26.08.2008 10:47

Нуко приатачь ко 6000 мувиклипов на сцену. Что без тормазов да? :/


Часовой пояс GMT +4, время: 20:35.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.