Domanda

Ho scritto un gioco in Flash (AS3 / Flex SDK / MXMLC) che trasmette musica e file audio dal mio server.

Sono preoccupato per la larghezza di banda: i componenti audio sono quasi 3 MB e, se il gioco diventa popolare, accumulerà davvero i costi della larghezza di banda.

Esiste un modo per rendere Flash i componenti audio una volta scaricati, invece di trasmetterli in streaming ogni volta che il gioco viene caricato sullo stesso PC?

Conosco gli oggetti condivisi (" cookie ") ma non credo che ci sia un modo per archiviare dati binari lì dentro ... o c'è?

È stato utile?

Soluzione

Quando dici " stream " , presumo che intendi download progressivo su HTTP.

Ti consigliamo di assicurarti che le tue risorse multimediali vengano inviate dal tuo server con le intestazioni di cache appropriate che soddisfino i tuoi obiettivi, per cominciare. Se quelli non sono compatibili con la cache, i file non verranno memorizzati nella cache. Inoltre, le stringhe di query impediranno generalmente la memorizzazione nella cache sul lato client.

Non c'è nulla di veramente magico in Flash Player in questo senso - tutto dovrebbe funzionare come se tutto fosse solo una semplice pagina web.

Potresti prendere in considerazione l'idea di ospitare le tue risorse multimediali statiche di grandi dimensioni su qualcosa di economico (come Amazon S3 o CloudFront .) Ciò potrebbe ridurre il costo dei trasferimenti di massa che non richiedono la logica dell'applicazione .

Aggiornamento ispirato ai commenti: ecco un possibile schema da seguire nella tua ricerca ...

  1. Scopri che tipo di memorizzazione nella cache è e non si verifica per prima
    1. Svuota la cache del browser
    2. Passa attraverso un caso d'uso nel tuo gioco
    3. Riprova, con l'aspettativa di vedere gli stessi contenuti utilizzati
    4. Ispeziona i file di registro del server Web. Il primo gruppo di richieste dovrebbe avere tutti i codici di risposta HTTP 200. Per il secondo gruppo di richieste, "cachable" le richieste di file che sono già state recapitate dovresti vedere nulla o HTTP 304 (una richiesta solo per vedere se il contenuto memorizzato nella cache è valido.) Se vedi set identici di richieste, tutte con 200 OK, quindi la memorizzazione nella cache non sta avvenendo
  2. Ulteriori informazioni sulla memorizzazione nella cache
    1. Installa un plug-in FireFox come TamperData, guarda le intestazioni della cache
    2. Leggi la specifica, conoscila. RFC 2616
    3. Experiment

Non sarei sorpreso se stavi già memorizzando i contenuti nella cache ma non te ne sei reso conto!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top