A cosa si riferisce la parola ‘buffer’ nella programmazione?

Per visualizzare il buffering...ecco un flipbook.

main-qimg-ac5ad34f1077e5ce3db85f7d1f94a01a.webp

Ora pensate ad ogni pagina di questo flipbook come un singolo FRAME dove l'unico frame visibile all'utente è quello corrente.

Nella visualizzazione di filmati, nella trasmissione di dati e nella visualizzazione di immagini in 3D... i prossimi due fotogrammi di informazioni da rendere... disegnati o inviati... stanno dietro a ciò che è visibile all'utente... in attesa di essere elaborati.

Invece di sfogliare costantemente l'hard disk ... o altre applicazioni più lente della memoria ... che si traduce in lag o in un'esperienza utente rallentata ... avere un buffer in memoria permette di sfogliare rapidamente da una pagina alla successiva ... che funziona bene per i film che hanno bisogno di diversi minuti di suono e immagini in esecuzione prima di inseguire la coppia successiva, per le coordinate e le posizioni successive dei vertici con grafica 3d e shading ... e per avere un flusso costante di dati in trasmissione, controllati per la precisione e verificati mentre ancora si scarica.

Il buffer permette ai frame di riserva di dati, rendering e suono di essere memorizzati invisibilmente dietro il frame corrente... pronti per un accesso rapido e facile quasi immediato.

** ADDENDUM **

Ho dovuto sbattere la testa alla fine di questo per pensare al formato più ovvio del buffering.. lo si usa regolarmente .. e non ci si pensa nemmeno.

Rendering nei giochi !!!

Ogni parte di animazione di un oggetto o di una creatura è memorizzata come un singolo frame reference .. (o parecchi se si vuole un'animazione fluida) e .. come il flipbook .. il suo tutto viene perforato il più velocemente possibile sullo schermo per darvi un bel movimento fluido.

Avendo aggiunto i giochi includerò anche un formato meno ovvio di buffering .. cose come la musica compressa .. come gli Mp3 .. dove la decompressione avviene in tempo reale così potete sentire la musica senza fermate o pause.