Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.04.2009, 12:47
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 1  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
По умолчанию Есть ли резон в создании кэша?

Здравствуйте уважаемые.
Существует движок который через прелоадер по настройкам в xml грузит содержимое: окошки, кнопочки, текстовые поля, картинки, другие мувики и т.п. Структура описания что-то типа такого:
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<data cntrlWidth="500" cntrlHeight="500">
  <objs>
    <obj id="12">
      <objs>
	<obj id="59"/> 	
	<obj id="63"  bgColor="0x80FF80" bgLine="0x400000" cntrlHeight="200" textHeight="100" y="300" />
	<obj id="36" bgColor="0x80FF80" bgLine="0x400000" cntrlHeight="200" edge="top" textHeight="100" /> 
	<obj id="38" edge="top" /> 
      </objs>
    </obj>
  </objs>
</data>
только разумеется гораздо больше и сложнее(сейчас например потомков уже около 200). Суть в том что часть элементов появляется в этой структуре многократно. То есть например стандартные кнопки у которых меняется только текст через настройки присутствуют в таком файле скажем с кодом id="5" и появляются раз 30. Каждый <obj> грузится через Loader. Затем инициализируется по настройкам xml и грузится следующий пока все не будет загружено.
Я вот о чем задумался, в принципе можно в настройках xml указать что такой вот элемент надо добавлять в кэш и в предзагрузчике проверять существует ли в кэше ссылочка на конструктор, битмапдату или что еще, по которой можно сделать копию нужного объекта не запуская сам Loader. То бишь цикл с ожиданием загрузки из кэша браузера можно будет вообще исключить.
Есть в этом смысл или это не даст прироста при "строительстве" флэшки по настройкам? Буду благодарен за любые советы и критику.

Добавлено через 2 минуты
P.S.: url для закачки берется из другого файла настройки по id(т.о. может быть несколько id на один url), так что не смущайтесь что его здесь не видно.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ


Последний раз редактировалось SunShadow; 30.04.2009 в 14:38.
Старый 30.04.2009, 13:26
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 2  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
По мне так прирост будет. Я целый класс написал, который грузит очередью и кэширует все, что грузит (с лимитом 20 МБ). Если надо - могу выложить.

Чем больше запросов к серверу, тем больше проблем => если кэшировать, то все будет нормально.

Старый 30.04.2009, 13:31
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 3  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
Ну по сути ничего сложного не должно быть. В Dictionary добавлять ссылки на все что должно быть закэшировано в качестве ключа url, и перед тем как грузить объект проверять по строке url есть ли он уже в кэше. А все в кэш кидать мне кажется черезмерно. Допустим в галерее нет нужды чтобы флэш помнила все просмотренные картинки. Взять ее из кэша браузера в данном случае будет не накладно. А вот если меню состоит из 2-х десятков кнопок, то тут мне кажется ссылку на конструктор кнопки явно надо в кэш кидать.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ


Последний раз редактировалось SunShadow; 30.04.2009 в 13:38.
Старый 30.04.2009, 14:04
PgeorgyV вне форума Посмотреть профиль Отправить личное сообщение для PgeorgyV Найти все сообщения от PgeorgyV
  № 4  
Ответить с цитированием
PgeorgyV

Регистрация: Apr 2008
Сообщений: 79
s8000_1, если ваш класс умеет дублировать загруженные картинки, анимации(для отображения в нескольких местах одновременно), я был бы очень Вам признателен, если бы Вы выложили его

Старый 30.04.2009, 14:44
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 5  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
Умеет. Использовать как обычный UILoader.

Пример использования:

Код AS3:
 
var ldr:CacheQUILoader = new CacheQUILoader();
ldr.addEventListener(Event.COMPLETE, onComplete);
ldr.source = "site.com/movie.swf";
 
function onComplete(e:Event):void{
  addChild(ldr.content);
}
Код AS3:
 
var ldr:CacheQUILoader = new CacheQUILoader();
ldr.dataFormat = CacheQUILoaderDataFormat.TEXT;
ldr.addEventListener(Event.COMPLETE, onComplete);
ldr.source = "site.com/data.xml";
 
function onComplete(e:Event):void{
  trace(ldr.textContent);
}
Вложения
Тип файла: rar CacheQUILoader0.9.rar (2.5 Кб, 38 просмотров)

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:08.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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