Che cos'è un elenco di visualizzazione?
Un elenco di visualizzazione in computer grafica è una sequenza di comandi che, una volta eseguita, 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 renderizzate e rendere più semplice la lettura del codice sorgente di programmazione. Diversi tipi di software e hardware utilizzano un elenco di visualizzazione per mostrare oggetti, tra cui software di editing grafico basato su vettori, alcuni sistemi di console di gioco e determinate librerie di computer grafica. Un aspetto dell'uso di un elenco di visualizzazione che può renderlo impossibile per alcune applicazioni è il fatto che, una volta aggiunte le istruzioni a un elenco, non possono essere modificate, il che significa che l'oggetto rappresentato dall'elenco di comandi deve rimanere esattamente lo stesso ogni volta che lo è reso.
Un uso importante per un elenco di visualizzazione è impedire all'unità di elaborazione grafica (GPU) all'interno di un computer di dover 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 per compilare i comandi, tutti i calcoli per la visualizzazione vengono eseguiti e memorizzati nella memoria. Ciò significa che la maggior parte dei calcoli sono già stati eseguiti ogni volta che viene disegnato l'oggetto. Quando un oggetto deve essere disegnato più volte all'interno di una singola scena, può essere fatto molto più rapidamente usando un unico elenco di visualizzazione.
Esistono diverse funzioni che un elenco di visualizzazione può eseguire una volta caricati tutti i comandi. Per un oggetto che utilizza un'immagine come trama, la profondità di 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, specialmente se stratificati, possono essere calcolati in anticipo, risparmiando un tempo significativo 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 memoria separata del computer o memoria virtuale. Avere le informazioni necessarie per la GPU memorizzate 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 memorizzati da qualche parte. Ciò significa che la creazione di molti elenchi potrebbe potenzialmente utilizzare una quantità di memoria del computer molto maggiore di quanto sarebbe altrimenti necessario. Ciò può essere dovuto al numero di poligoni richiesti da un oggetto o alla dimensione di un'immagine da inserire nella memoria delle trame. Per scene complesse, la dimensione degli elenchi potrebbe superare la quantità di memoria disponibile e influire sulle prestazioni della scheda grafica.