![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
Всем доброго утра!
Есть код, который последовательно через создание новых Loader'ов загружает изображения с сервера. Загрузил одно, грузит другое. В общем-то получается довольно долго. Можно как либо этот процесс ускорить? Например создать заранее нужное количество Loader'ов и в цикле прокрутить их на загрузку. А потом в одной функции обратного вызова подсчитывать количество срабатываний и уже двигаться дальше, если их число равно число сработанных load'ов. Что-то такое прокатит или какие варианты? |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
GBee
> Попробуйте, разве самому не интересно, чем ждать ответа? А какой оргазм от того, что получится ;о)) Время тратить не хочется на поиски. Сроки)) Я оптимизирую код написанный другим программистом. Жду советов... |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Да, можно. Loader грузит файлы асинхронно.
|
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
GBee
> Да, можно. Loader грузит файлы асинхронно. Но функция обратного вызова (укажу для всех Loader'ов одну) будет вызываться последовательно же? |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
она будет вызываться столько раз, сколько загрузчиков кинет событие об окончании загрузки, которое слушается в классе. И вызываться будет в той последовательности, в какой загрузчики заканчивают свою работу. Если первый загрузчик грузит большую картинку, а второй маленькую, естественно второй отработает раньше
|
|
|||||
|
Да, колбэк вызывается по очереди. Все именно так потому что:
1) флеш плеер просит браузер загрузить а 2) флеш плеер просит браузер загрузить б ... 3) браузер выделяет потоки загрузки и начинает загружать 4) что-то загрузилось - браузер отдает контент флеш-плееру 5) у флеш плеера возникает событие Event.COMPLETE 6) если за 1 кадр произошло несколько событий, то они обрабатываются последовательно, в порядке их возникновения или приоритета слушателей. То есть, грубо говоря, флеш плеер - это штука, которая "живет" один кадр. Набралось событий за этот кадр - они обработались. Переходим к следующему кадру, там снова собираем события и снова их обрабатываем. Такой алгоритм работы называется state-machiene (ну или конечный автомат). У программы есть несколько состояний и она последовательно переходит из одного в другое все время своей жизни.
__________________
...вселенская грусть |
|
|||||
|
Цитата:
11:08 - 10:29 = 0:39 минут. Проверка самому составила бы минут 10-15. //trollmode off
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|