Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Оптимизация загрузки (http://www.flasher.ru/forum/showthread.php?t=155903)

cremnet 12.05.2011 12:43

Оптимизация загрузки
 
Для меня стоит задача сделать загрузку ресурсов (xml, image, video, swf) для AS3 приложения и думаю как лучше всего сделать?
практики в этом деле 0 так что...
варианты в голове следующие:
1 все запухнуть в один swf и зазиповать загружать и по названию класса получать доступ к ресурсам
плюсы: не мучаться с формирование списка нужных элементов все грузится одним файлом
минус: для того чтобы изменить картинку нужно перекомпелировать весь swf (проще запутаться)
большое время загрузки приложения (первая страница)

2 делать xml файл в который делать список загрузки и указывать пути куда откуда чего и как
плюсы: изменять картику или swf очень просто при этом не нужно трогать основное приложение
список загрузки легко править дополнять и менять пути к файлам
можно не грузить весь контент, а подгружать что нужно по ходу работы приложения (скорость загрузки первой страницы)
минусы: думаю для приложение проще грузить все одним файлом чем грузить кучу (может я и не прав)

3 несколько swf, для каждой страницы свой ресурсный файл
плюсы: быстрая загрузка
минусы: помоему геморно... хотя дело привычки, мож и самый простой вариант

4 ваш вариант

в идеале хотелось бы получить вариант который было бы легко править если чтото нужно изменить, картинку, swf элемент, видео;
не хотелось бы чтобы не нужно было в основном приложении (SWF) вносить какие нибудь изменения;
хотелось бы чтобы видео и xml и картинки и swf грузилось по средством чегото одного и не раскидываться на кучу под загрузок

простите за сумбур, но опыта в написании as3 приложение очень мало

-De- 12.05.2011 13:18

В 1, если использовать метатег [Embed] (и не компилить с помощью Flash CS... ну это в любом случае вас ждёт), то перекомпиляция быстрая и замена элемента - это просто заменить его на винте. Ну т.е. будете прописывать в этом теге, а не в xml, вот и всё) Наверное стоит с этого начать.
Ну тут конечно много ещё можно написать %)

cremnet 12.05.2011 13:42

Цитата:

Сообщение от -De- (Сообщение 995610)
Ну тут конечно много ещё можно написать %)

я бы почитал )))

DZHETIGAPA 12.05.2011 14:02

Цитата:

Сообщение от cremnet (Сообщение 995601)
минусы: думаю для приложение проще грузить все одним файлом чем грузить кучу (может я и не прав)

Начем основывается такое утверждение? А то аж самому интересно стало.

Я бы все грузил разными файлами с помощью LoaderMax, а ссылки на файлы считывал бы из xml.

cremnet 13.05.2011 16:11

Цитата:

Сообщение от DZHETIGAPA (Сообщение 995626)
Начем основывается такое утверждение? А то аж самому интересно стало.

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

gloomyBrain 13.05.2011 18:39

Цитата:

на собственном опыте. Чем больше файлов и мельче размер тем дольше загрузка
Ага. А потом вы меняете 1 пиксель в одной картинке и каждый пользователь грузит всю библиотеку заново.
Привет, трафик...
Привет, время ожидания клиента перед началом игры.

in4core 13.05.2011 18:58

привет всем :) Конечно пофайлово

cremnet 14.05.2011 15:59

Цитата:

Сообщение от in4core (Сообщение 996005)
привет всем :) Конечно пофайлово

т.е. в XML делать список файлов и его грузить?

а ваще кто как это делает? может я себе не ту задачу поставил? потому как у меня путаница всеравно в голове

expl 15.05.2011 21:35

Я бы задал вопрос не "XML или не XML",
а "Как главная флешка даст знать какой ресурс ей нужен"
я сталкивался с 2-мя случаями:
1. хардкод идентификатора ресурса "background" (просто о ресурсе знает только клиент - как-бы настраивать нечего)
2. идентификатор, строящийся по айдишнику сущности "vegetable_23"

Как связать этот хардкоженный или обычный айдишник с адресом на сервере?
Способ 1:
- устанавливаем соглашение:
1) задний фон брать из корня ресурсов, url = _resourcesURL + "/background.png";
2) овощи брать из папки vegetables url = _resourcesURL + "/vegetables/vegetable_" + id + .png";
Все! лепим это добро в методы статичного класса аля getVegetebleURL(id:int):String и никиких XML

Способ 2:
Тупо мепим каждый ресурс на каждый url (не на полный url только, иначе переезжать на другой сервак будет весело)
Код:

<item key= "background" url="background.png">
<item key = "vegetable_101" url="vegetables/vegetable_" + id + ".png">

Способ 3.
Несмотря на маразматичность 2-го способа у него есть преимущества: в xml можно запихать какуюто информацию, которая будет доступна до загрузки ресурса.
Но для этого не обязательно ручками все это мепить - можно написать генератор xml по ресурсам, валяющимся в заданной папке.


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

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