Pergunta

Eu escrevi um jogo em Flash (AS3 / Flex SDK / mxmlc) que transmite arquivos de música e som do meu servidor.

Estou preocupado com largura de banda -. Dos componentes de áudio são quase 3MB, e se o jogo se torna popular ele realmente vai acumular os custos de largura de banda

Existe alguma maneira de fazer Flash Cache os componentes de áudio uma vez que já foi baixado, em vez de streaming a cada vez que o jogo é carregado no mesmo PC?

Eu sei sobre os SharedObjects ( "cookies"), mas eu não acho que há uma maneira de armazenar dados binários em lá ... ou há?

Foi útil?

Solução

Quando você diz que "stream" , eu suponho que você quer dizer download progressivo sobre HTTP.

Você vai querer garantir que seus ativos de mídia estão sendo enviados a partir de seu servidor com os cabeçalhos de cache apropriadas que atendam seus objetivos, para começar. Se aqueles que não cache de amigáveis ??são, em seguida, os arquivos não serão armazenados em cache. Além disso, seqüências de consulta geralmente evitar o cache do lado do cliente.

Não há nada realmente mágico sobre o Flash player a este respeito -. Tudo deve funcionar como se tudo isso era apenas um ol página web simples'

Você pode querer considerar hospedar seus grandes ativos de mídia estática em algo barato-ish (como Amazon S3 ou CloudFront .) Isso poderia reduzir o custo das transferências em massa que não exigem lógica de aplicação .

Atualização inspirado pelos comentários: Aqui está um possível esquema para você seguir em sua busca ...

  1. Descobrir que tipo de cache é e não está a acontecer primeiro
    1. Limpar o cache do navegador
    2. Vá até um caso de uso em seu jogo
    3. passar por isso novamente, com a expectativa de ver o mesmo conteúdo usado
    4. Verifique os arquivos de log do servidor web. O primeiro grupo de solicitações todos devem ter HTTP 200 códigos reagir. Para o segundo grupo de pedidos "cachable" pedidos de arquivos que já foram entregues você deve ver nenhum nada ou HTTP 304 (um pedido apenas para ver se o conteúdo em cache é válido.) Se você ver conjuntos idênticos de pedidos, todos com 200 OK, então o cache não está acontecendo
  2. Saiba mais sobre o cache
    1. Instale um FireFox plug-in como TamperData, ver os cabeçalhos de cache
    2. Leia o spec, sabe disso. RFC 2616
    3. Experiment

Eu não ficaria surpreso se você estivesse cache de conteúdo já, mas simplesmente não percebem isso!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top