Pregunta

He escrito un juego en Flash (AS3 / Flex SDK / MXMLC) que transmite música y archivos de sonido desde mi servidor.

Me preocupa el ancho de banda: los componentes de audio son de casi 3 MB, y si el juego se vuelve popular, realmente aumentará los cargos por ancho de banda.

¿Hay alguna forma de hacer que la memoria caché de Flash sea el componente de audio una vez que se hayan descargado, en lugar de transmitirlos cada vez que el juego se carga en la misma PC?

Sé sobre SharedObjects (" cookies ") pero no creo que haya una forma de almacenar datos binarios allí ... ¿o existe?

¿Fue útil?

Solución

Cuando dices " stream " , supongo que te refieres a la descarga progresiva sobre HTTP.

Querrá asegurarse de que sus recursos de medios se envíen desde su servidor con los encabezados de almacenamiento en caché adecuados para sus objetivos, para empezar. Si no son compatibles con la memoria caché, entonces los archivos no se almacenarán en caché. Además, las cadenas de consulta generalmente evitarán el almacenamiento en caché del lado del cliente.

El Flash Player no tiene nada de mágico en este aspecto, todo debería funcionar como si todo fuera una simple página web.

Es posible que desee considerar alojar sus activos de medios grandes y estáticos en algo barato (como Amazon S3 o CloudFront .) Esto podría reducir el costo de las transferencias masivas que no requieren lógica de aplicación .

Actualización inspirada en los comentarios: Aquí hay un posible esquema que puedes seguir en tu búsqueda ...

  1. Averigüe qué tipo de almacenamiento en caché es y no ocurre primero
    1. Borra la caché de tu navegador
    2. Ir a través de un caso de uso en su juego
    3. Vuelva a revisarlo, con la expectativa de ver el mismo contenido utilizado
    4. Inspeccionar los archivos de registro del servidor web. El primer grupo de solicitudes debe tener todos los códigos de respuesta HTTP 200. Para el segundo grupo de solicitudes, " cachable " las solicitudes de archivos que ya se han entregado deben ver nada o HTTP 304 (una solicitud solo para ver si el contenido almacenado en la memoria caché es válido). Si ve conjuntos de solicitudes idénticos, todos con 200 OK. entonces el almacenamiento en caché no está ocurriendo
  2. Obtenga más información sobre el almacenamiento en caché
    1. Instale un complemento de Firefox como TamperData, observe los encabezados de almacenamiento en caché
    2. Lea la especificación, conózcala. RFC 2616
    3. Experimento

No me sorprendería si ya estuvieras almacenando contenido en caché, ¡pero simplemente no te habías dado cuenta!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top