Miglioramenti per l'interazione di rete

Flash Player 10.1 e AIR 2.5 introducono una serie di nuove funzioni, quali il buffering circolare e la ricerca intelligente, finalizzate a ottimizzare le prestazioni di rete su tutte le piattaforme.

Buffering circolare

Quando caricate contenuti multimediali sui dispositivi mobili, si possono verificare problemi che non vi aspettereste mai di incontrare su un computer desktop. Ad esempio, è più facile trovarsi in situazioni di esaurimento dello spazio su disco o della memoria. Quando viene caricato un video, le versioni desktop di Flash Player 10.1 e AIR 2.5 scaricano e memorizzano l'intero file FLV (o MP 4) nella cache sul disco rigido, quindi il runtime riproduce il video dal file della cache. È raro che lo spazio su disco si esaurisca. Se tale situazione si verifica, il runtime desktop interrompe la riproduzione del video.

L'esaurimento dello spazio su disco è un problema più frequente su un dispositivo mobile. Se il dispositivo esaurisce lo spazio su disco, il runtime non interrompe la riproduzione come nella versione desktop, bensì inizia a riutilizzare il file della cache riscrivendolo dall'inizio, consentendo così all'utente di continuare la visione del video. L'utente non può spostarsi su un punto del video appartenente alla parte che è stata riscritta, può solo tornare all'inizio del file. Il buffering circolare non viene avviato per impostazione predefinita. Può essere attivato durante la riproduzione, oppure anche all'inizio della riproduzione se il filmato occupa più spazio di quello disponibile su disco o nella RAM. Il runtime richiede almeno 4 MB di RAM o 20 MB di spazio su disco per utilizzare la funzione di buffering circolare.

Nota: se il dispositivo ha spazio sufficiente su disco, la versione del runtime per dispositivi mobili si comporta esattamente come la versione desktop. Tenete presente che un buffer nella RAM viene utilizzato come alternativa se il dispositivo non dispone di un disco oppure il disco è pieno. È possibile impostare un limite per le dimensioni del file di cache e il buffer della RAM in fase di compilazione. Alcuni file MP4 hanno una struttura che richiede il download dell'intero file prima dell'inizio della riproduzione. Il runtime rileva i file di questo tipo e ne impedisce il download, se lo spazio su disco è insufficiente, e il file MP4 non può essere riprodotto. Può essere opportuno evitare di richiedere il download di tali file.

Come sviluppatori, ricordate che la ricerca funziona solo entro i limiti del flusso memorizzato nella cache. NetStream.seek() a volte fallisce se l'offset è fuori intervallo e, in questo caso, viene inviato un evento NetStream.Seek.InvalidTime .

Ricerca intelligente

Nota: la funzione di ricerca intelligente richiede Adobe® Flash® Media Server 3.5.3.

Flash Player 10.1 e AIR 2.5 introducono un nuovo comportamento, chiamato "ricerca intelligente", che migliora l'esperienza dell'utente durante lo streaming video. Se l'utente cerca una destinazione all'interno dei limiti del buffer, il runtime riutilizza il buffer per offrire una ricerca istantanea. Nelle versioni precedenti del runtime, il buffer non veniva riutilizzato. Se un utente riproduceva, ad esempio, un video da un server di streaming e il tempo del buffer era impostato su 20 secondi ( NetStream.bufferTime ), e l'utente tentava di spostarsi di 10 secondi in avanti, il runtime eliminava tutti i dati di buffer invece di riutilizzare i 10 secondi già caricati. Questo comportamento obbligava il runtime a richiedere nuovi dati dal server molto più frequentemente e causava prestazioni di riproduzione scadenti in caso di connessione lenta.

La figura seguente illustra il comportamento del buffer nelle versioni precedenti del runtime. La proprietà bufferTime specifica il numero di secondi da precaricare in anticipo in modo che, se la connessione viene interrotta, il buffer possa essere utilizzato senza interrompere il video:

Comportamento del buffer prima della funzione di ricerca intelligente

Grazie alla funzione di ricerca intelligente, il runtime ora utilizza il buffer per fornire la funzionalità di ricerca in avanti e indietro quando l'utente aziona la barra di avanzamento del video. La figura seguente illustra questo nuovo comportamento:

Ricerca in avanti con la funzionalità di ricerca intelligente

Ricerca indietro con la funzionalità di ricerca intelligente

La ricerca intelligente riutilizza il buffer quando l'utente effettua ricerche in avanti o all'indietro, garantendo un'esperienza di riproduzione più veloce e fluida. Uno dei vantaggi di questo nuovo comportamento è il risparmio di banda per chi pubblica contenuti video. Se però una ricerca viene eseguita al di fuori dei limiti del buffer, viene utilizzato il comportamento standard e il runtime richiede i nuovi dati al server.

Nota: questo comportamento non è disponibile per il download video progressivo.

Per usare la ricerca intelligente, impostate NetStream.inBufferSeek su true .