Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Зависание при громозких вычислениях 
:(
    Опции темы
cbcboss
  Дата 5.2.2012, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.2.2012

Репутация: нет
Всего: нет



Имеется кучка массивов, кот. необходимо обработать.

код типа следующего =>

Код

on (press){
for (var i in Arr1)
    for (var k in Arr2)
        for (var m in Arr3) {
            ... обработка данных (допустим занимает 0.1 сек)
        }
}


если в массивах по 100 элементов то это дело занимает достаточно много времени.

Вопрос: есть ли такая функция, кот. передала управление самой флэш ( т.е. обновила графику пользователя и т.п. ), чтоб как такового зависания не наблюдалось.

и после обработки вставить эту ф-ю.

код по тип такого будет

Код


function AntiZZZ(){ //антизависание
    _root.Progress++; //эт для отображения прогресса выполнения вычислений
    ???XXX???(); //эт функция , передающая управление основной программе.
}

on (press){
for (var i in Arr1)
    for (var k in Arr2)
        for (var m in Arr3) {
            ... обработка данных (допустим занимает 0.1 сек)
            AntiZZZ();
        }
}


Пробовал в поисховике эт дело найти, но точно не знаю как его обозвать и поэтому толком поисховик путёвого ничего не выдаёт.
Заранее, СПАСИБО !


Это сообщение отредактировал(а) cbcboss - 5.2.2012, 18:25
PM MAIL   Вверх
SoWa
Дата 5.2.2012, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 1
Всего: 74



Как вариант, можешь в SetInterval отправить эту функцию, получится эдакое таймерное распараллеливание.
Главное - продумать, как грамотно кадр построить, где у тебя бедт таймер и как сделать, чтобы он не блокировал выполнение графики. Т.е. SetInterval ты модешь скормить функцию, которая будет изменять некую глобальную переменную, которая будет отображаться в каком-нибудь поле.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
cbcboss
Дата 5.2.2012, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.2.2012

Репутация: нет
Всего: нет



ага ... можно и через таймер, тока вот код получится запутанней ... и на слабеньком компьютере ( если выполнение ф-и займёт 1-5 сек ) ... НАВЕРНО всё зависнет пока не закончится цикл ( а может и нет ... если добавить проверку по времени между окончанием предыдущего выполнения ф-и и её послед. началом).

ща гуглил. Возникла идейка.
Флэш имеет fps,  отсюда
по окончании кода он "грубо" запускает его заново. (onEnterFrame)

Вот мне бы эту функцию, кот. запускает весь код, или же просто обновляет графику объектов (не вызывая события, чтоб ... заново не вызвать циклы).
Или же нет такого?

... a пока что будемс юзать SetInterval.

Это сообщение отредактировал(а) cbcboss - 5.2.2012, 19:10
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 3 | Следующая тема »


 




[ Время генерации скрипта: 0.0397 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.