2012-03-06 2 views

ответ

1

Если у вас нет возможности изменить качество или размеры изображения, вы не можете сделать так, чтобы ускорить такую ​​большую нагрузку, поскольку вы ограничены скоростью соединения и одновременным браузером соединения.

Вам может быть полезно воспользоваться менеджером по загрузке, например, LoaderMax Greensock. LoaderMax поможет вам сразу загрузить несколько активов - проверьте параметр maxConnections.

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

1

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

Кстати, в чем причина того, что вам нужно сразу загрузить 100 изображений. Есть ли причина, по которой вы не можете загрузить их в фоновом режиме немного медленнее?

+0

причина для загрузки 100-х изображений - я пытаюсь создать фото-мозаику. В настоящее время я написал код таким образом, что каждое изображение загружается 1 на 1. Что я хочу сделать, это ускорить тот же процесс загрузки изображений 1 на 1. – Sravan0313

+0

Oh! кстати, я забыл упомянуть, что все изображения поступают с сервера, к которому я обращаюсь, используя динамический xml. У меня нет никакого доступа к изображениям, чтобы уменьшить качество изображений. – Sravan0313

+0

@ Sravan0313 С учетом дополнительной информации, которую вы предоставили, я бы посмотрел на ответ @ ilollar. Использование хорошего менеджера загрузки должно быть быстрее, чем просто загружать изображения по одному. Я лично не использовал «LoaderMax», но похоже, что это хороший вариант. –

0

Вопрос не содержит много особенностей, поэтому приведены некоторые общие рекомендации.

Если изображения являются большими JPEG, вы можете пожертвовать некоторым качеством и повторно сжать изображения, чтобы сделать их меньше.

Если изображения представляют собой PNG и представляют собой, например, множество небольших отдельных фрагментов для игры, вы можете попробовать объединить многие из них в одно изображение, а затем разобрать их на изображения на стороне клиента после загрузки изображения по сети.

1

Несколько предложений:

  1. Уменьшите размер файла ваших изображений (очевидных, но наиболее важные).
  2. Не запускайте все запросы сразу - очереди изображений и загружать их по одному (наиболее актуальным для наименее релевантных).
+0

Я не выполняю все запросы сразу, я уже поставил в очередь процесс загрузки. Но проблема в том, что у меня нет доступа к изображениям, поскольку они находятся на сервере, и я обращаюсь к ним с помощью динамически созданного XML. – Sravan0313

+1

Можете ли вы отправить мне ссылку на XML, чтобы я мог посмотреть на некоторые изображения и сообщить вам, что я думаю? Похоже, что изображения слишком велики. Вы можете создать PHP-скрипт, который принимает ссылку на изображение, а затем использует GD-библиотеку для сжатия, прежде чем пытаться загрузить его во Flash. – Marty

0
  1. Реализовать очередь загрузки, например, простой погрузчик https://github.com/hydrotik/QueueLoader
  2. Не загружайте изображения, которые в настоящее время из стадии (вы можете загрузить их в фоновом режиме)
  3. Используйте текстуры пакера, если у вас есть много маленьких изображений
  4. Оптимизация Pics качества (т.е. размер, тип)
  5. Использование кэша, например Local Shared Object , поэтому в следующий раз вы получите ваши фото в конечном счете, метрономы st от LSO.
1

Было уже много хороших советов. Но вот мои 2 цента. Однажды мне пришлось загрузить около 1000 действительно маленьких изображений. Это заняло слишком много времени, поэтому я использовал библиотеку AS3 FZip. Работал как шарм.

+0

Это ТОЧНО, что я искал. Надеюсь, он будет работать с Adobe AIR для мобильных устройств ... Любые комментарии? –

0

Есть ли способ получить эскизы сделанных изображений? Если это так, вы можете использовать миниатюры при загрузке более крупных версий. Сначала загрузите все миниатюры (так как они будут загружаться очень быстро), а затем загрузите более крупные версии в порядке приоритета.

Похоже, что у вас нет большого контроля над изображениями. Если у вас нет какого-либо элемента управления, вы можете сделать это очень мало, чтобы ускорить процесс, помимо использования оптимизатора загрузки, как это предлагали другие.

Смежные вопросы