![]() |
сохранение и чтение данных на клиенте
Короткая тема и корткий вопрос.
Суть задачи: сцена предсталяет слбой карту местности, разбитую на 100 битмапов размером 80х80 px, которые отображаются в зависимости от положения viewport'а пользователя (остальные битмапы не отрисовываются), но естессно такае схема мягко говоря кушает много памяти. Вопрос: логично ли те битмапы, которые не востребованы пользователем временно хранить на жестком диске, а по мере надобности подгружать во флешку, а не используемые в свою очередь скидывать на жесткий? В AS3 реализовать такую схему не составит труда, но как это скажется на производительности? Используются ли такие схемы? |
Если приложение не AIR, забудьте про жесткий диск.
|
Цитата:
|
dimarik : removeChild при невидимости( и достаточной удаленности битмапа от видимой области) запись его содержимого в локальное хранилище допустим и освобождение памяти. Просто с нагруженными битмапами плеер жрет через чур много памяти.
А я не догнал если честно : В standalone клиентах. Через тырнет браузер сам кеширует файлы. Как? Мне битмап приходит через сокет соединение, на клиенте он собирается по битам (точнее приходит zip архив), не думаю, что браузер его закеширует, или я не прав? Может изначально у меня схема очень замороченная? |
по сокету гнать зип-архив, в котором лежит картинка ... да не, нормально :) не заморочено. бывает и хуже. например тупо запрашивают по ХТТП.
|
zafod, чем Вас не устроил вариант с передачей контента по HTTP? А по сокету гонять только данные.
|
может я конечно не прав, но не вижу смысла в HTTP, если у меня открыто прямое сокет-соединение, гонять данные? - ну так я и гоняю, какая разница, что идет через сокет. Разработан протокол передачи( кривенький правда ), но получив оффсет зип архива он его привот к читабельному виду через класс-обертку Loader'a. Вообще конечно спорный вопрос, я согласен, вариантов куча.
Может вернемся к изначальному вопросу? Нормально скидывать не используемые битмапы через sharedObject на диск? |
sharedObject по-моему ограничен на 1мгбайт или что-то около того по умолчанию. Когда израсходованны - спрашивает у пользователя - расширить хранилище или нет. А больше препятствий по-моему нет.
|
Цитата:
|
правильная и быстрая схема - юзать ХТТП.
|
Цитата:
|
я даже не знаю как Вам объяснить. Вы построили схему, до которой додумается не каждый извращенец. теперь Вы хотите к это штуке прикрутить обыкновенное кэширование, которое уже есть на уровне системы при использовании ХТТП. юзать ShredObject нельзя, так как не каждый нажмёт "Да" на непонятном окошке ( а ведь там ещё и ползунком подвигать надо ), зато каждый скажет что всё тормозит. тоесть вместо заранее рабочей схемы, вы выбираете схему, которую:
1. надо реализовывать 2. которая жрёт дополнительные ресурсы, за счёт сокета, зипования, и т.д. 3. к которой невозможно отследить прогресс загрузки ( я так думаю ) 4. которая не умеет самостоятельно кэшировать данные 5. которая зависит от действий и "не знаний" пользователя. |
по всем пунктам все правильно. но есть проблема, которую победить не могу. по тз пользователь буквально говоря рисует в эти битмапы, поэтому кэш браузера мне никак не подходит. Может имея разрисованный битмап можно сэмулировать получение данных по хттп и дать браузеру закэшировать?
|
нельзя
|
Все, проблема решена по другому. Тему можно выкидывать. В итоге можно сказать только одно - при получении тз проверяете его на соответсвие здравому смыслу.
|
| Часовой пояс GMT +4, время: 22:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.