Возможно ли сделать Flash кеш большими звуковыми активами? - PullRequest
0 голосов
/ 29 апреля 2009

Я написал игру на Flash (AS3 / Flex SDK / MXMLC) для потоковой передачи музыки и звуковых файлов с моего сервера.

Я обеспокоен пропускной способностью - аудиокомпоненты составляют почти 3 МБ, и если игра станет популярной, она действительно увеличит плату за пропускную способность.

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

Я знаю о SharedObjects ("куки"), но я не думаю, что есть способ хранить там двоичные данные ... или есть?

1 Ответ

3 голосов
/ 29 апреля 2009

Когда вы говорите "stream" , я предполагаю, что вы имеете в виду прогрессивную загрузку по HTTP.

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

В этом нет ничего особенного в Flash Player - все должно работать так, как если бы это была просто старая веб-страница.

Возможно, вы захотите разместить свои большие статические медиаресурсы на чем-то дешевом (например, Amazon S3 или CloudFront .) Это может снизить стоимость массовых передач, которые делают не требует логики приложения.

Обновление, вдохновленное комментариями: Вот возможный план, которому вы должны следовать в своем квесте ...

  1. Выясните, что за кеширование происходит и чего не происходит в первую очередь
    1. Очистить кеш браузера
    2. Пройдите сценарий использования в вашей игре
    3. Пройдите еще раз, ожидая увидеть тот же самый используемый контент
    4. Проверка файлов журнала веб-сервера. Первая группа запросов должна иметь коды ответов HTTP 200. Для второй группы запросов, «кэшируемых» запросов для файлов, которые уже были доставлены, вы должны увидеть либо nothing , либо HTTP 304 (запрос только для проверки допустимости кэшированного содержимого.) Если вы видите идентичные наборы запросов, все с 200 OK, то кеширование не происходит
  2. Узнайте больше о кешировании
    1. Установите плагин FireFox, например TamperData, посмотрите заголовки кэширования
    2. Прочтите спецификацию, узнайте это. RFC 2616
    3. Эксперимент

Я бы не удивился, если бы вы уже кешировали контент, но просто не осознавали этого!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...