Un elenco di visualizzazione in computer grafica è una sequenza di comandi che, una volta eseguiti, fornisce istruzioni su come disegnare un oggetto sullo schermo o su un altro dispositivo di output. Lo scopo dell’utilizzo di un elenco di visualizzazione è aumentare la velocità e l’efficienza delle scene che vengono renderizzate, nonché rendere più facile la lettura del codice sorgente di programmazione. Diversi tipi di software e hardware utilizzano un elenco di visualizzazione per mostrare gli oggetti, inclusi software di editing di grafica vettoriale, alcuni sistemi di console di gioco e alcune librerie di grafica per computer. Un aspetto dell’utilizzo di un elenco di visualizzazione che può renderlo irrealizzabile per determinate applicazioni è il fatto che, una volta aggiunte a un elenco, le istruzioni non possono essere modificate, ovvero l’oggetto rappresentato dall’elenco dei comandi deve rimanere esattamente lo stesso ogni volta che viene reso.
Un uso importante per un elenco di visualizzazione consiste nell’evitare che l’unità di elaborazione grafica (GPU) all’interno di un computer debba eseguire la stessa sequenza di calcoli ogni volta che una scena viene disegnata sul dispositivo di output. Aggiungendo comandi grafici a un elenco e quindi istruendo il software che utilizza l’elenco a compilare i comandi, tutti i calcoli per la visualizzazione vengono eseguiti e archiviati in memoria. Ciò significa che la maggior parte dei calcoli è già stata eseguita ogni volta che l’oggetto viene disegnato. Quando un oggetto deve essere disegnato più volte all’interno di una singola scena, può essere fatto molto più rapidamente utilizzando un unico elenco di visualizzazione.
Ci sono diverse funzioni che un elenco di visualizzazione può eseguire una volta che tutti i comandi sono stati caricati. Per un oggetto che utilizza un’immagine come trama, la profondità del colore originale dell’immagine e altre proprietà possono essere tradotte nel formato richiesto per la risoluzione e la scheda grafica in uso. I materiali di superficie, soprattutto se stratificati, possono essere calcolati in anticipo, risparmiando una notevole quantità di tempo durante il rendering finale. Oltre ad altri calcoli eseguiti prima del rendering, le informazioni dell’elenco compilato potrebbero essere archiviate nella memoria della scheda grafica anziché in una memoria separata del computer o in una memoria virtuale. Avere le informazioni necessarie per la GPU archiviate nella stessa scheda hardware fisica può aumentare la velocità di rendering, perché sarà in grado di viaggiare molto più velocemente verso il processore.
Il compromesso per l’utilizzo di un elenco di visualizzazione è che i calcoli devono essere archiviati da qualche parte. Ciò significa che la creazione di molti elenchi potrebbe potenzialmente utilizzare una quantità di memoria del computer molto maggiore di quella che sarebbe altrimenti necessaria. Ciò può essere dovuto al numero di poligoni richiesti da un oggetto o alla dimensione di un’immagine da inserire nella memoria della trama. Per scene complesse, la dimensione degli elenchi potrebbe superare la quantità di memoria disponibile e influire sulle prestazioni della scheda grafica.