Glossario informatico: Buffering
Autore della definizione: Maxmula
Operazione con la quale il computer carica un insieme di dati in un'area di memoria composta di celle contigue (Buffer), per elaborarli successivamente.
Utilizzi del buffering:
File di grandi dimensioni
L'utilizzo del frazionamento consente di elaborare grandi quantità di dati con un limitato impiego di risorse: grazie alla suddivisione in porzioni, è possibile trattare anche documenti più grandi dello spazio disponibile in memoria (filmati o testi molto lunghi o filmati).
Naturalmente, la dimensione del buffer è estesa, più agevolmente lavorerà la macchina, non essendo costretta a continui rallentamenti dovuti all'accesso alle memorie di massa per caricare le parti successive del documento.
Streaming
Un'altra implementazione del buffering sono le applicazioni in cui vengono gestiti flussi di dati in tempo reale, ad esempio la masterizzazione e la riproduzione audio-video.
Durante lo streaming, è nota la velocità con cui i dati vengono processati (rispettivamente: scritti sul CD/DVD e convertiti in suoni ed immagini); Il buffer è dimensionato in modo da garantire il funzionamento del programma per un certo tempo (qualche secondo, di solito), anche quando il flusso dati dovesse interrompersi.
Alcune possibili cause d'interruzione sono:
- Ricalibrazione delle testine dell'Hard Disk, comandata periodicamente dal Firmware del medesimo;
- Riallineamento della testina ottica del riproduttore di CD/DVD (ad esempio per un graffio sulla superficie del supporto o per l'inizio della lettura sul layer successivo del DVD)
- Temporaneo rallentamento o interruzione del download durante lo streaming, a causa di un degrado di prestazioni della rete.
- Improvviso picco nel carico di lavoro della CPU che, dovendosi occupare di un processo con priorità più elevata, interrompe temporaneamente l'acquisizione di nuovi dati.
Il buffer utilizzato nella gestione dello stream è di tipo "circolare": il programma legge sequenzialmente tutti gli elementi del buffer, mentre i dati già utilizzati vengono subito rimpiazzati da altri. Una volta processato il contenuto dell'ultimo indirizzo, la lettura ricomincerà con il primo, trovando nuovi dati "già pronti" (il tutto, ovviamente, se l'acquisizione procede a velocità uguale o superiore a quella di riproduzione).
Quando la lettura del buffer arriva all'ultimo elemento e non ve ne sono altri disponibili ("Buffer underrun") si verifica il cosiddetto "lag" (ritardo): il programma si arresta, in attesa che il buffer venga di nuovo riempito.
Quest'evento si traduce in un effetto piuttosto fastidioso, in quanto la riproduzione del film rimane "bloccata" sull'ultimo fotogramma visualizzato; Nel caso della scrittura su CD, lo svuotamento del buffer potrebbe compromettere l'intera operazione, rendendo inutilizzabile il supporto, a meno che il masterizzatore non disponga di adeguate funzioni di "messa in pausa" e ripristino (fortunatamente, sono implementate su tutti i dispositivi costruiti a partire dal 2000).
Videogiochi
Nei giochi, allo scopo di garantire la fluidità delle animazioni, è utilizzato un sistema del "Double Buffering": in questo caso vi sono due buffer, che contengono le informazioni da visualizzare sul display: mentre il primo viene inviato al monitor, il software di elaborazione lavora per preparare il contenuto del secondo buffer, che verrà mostrato nell'istante successivo.
Anche qui si può verificare il lag se la preparazione dell'immagine si protrae oltre il termine del il ciclo di visualizzazione: il risultato è un'animazione che procede a scatti, tanto più distaccati (e fastidiosi) quanto più è complessa la schermata: l'unica soluzione, in un caso del genere, sarà modificare le impostazioni del gioco in modo da avere una grafica meno dettagliata o, nei casi estremi, la sostituzione della scheda video e/o della CPU con una più potente.
Cerca anche su: Google, Wikipedia.
- Migliorala tu stesso e contribuisci alla crescita del glossario.
- Scrivi all'Oracolo di pc-facile.com e lui ti risponderà via e-mail entro 48 ore lavorative.
- Invia questa definizione a un amico.