Vad är en visningslista?
En visningslista i datorgrafik är en sekvens med kommandon som, när de körs, ger instruktioner om hur man drar ett objekt till skärmen eller annan utgångsenhet. Syftet med att använda en visningslista är att öka hastigheten och effektiviteten för de scener som återges samt att göra programmeringskällkoden lättare att läsa. Flera typer av programvara och hårdvara använder en skärmlista för att visa objekt, inklusive vektorbaserad grafikredigeringsprogramvara, vissa spelkonsolsystem och vissa datorgrafikbibliotek. En aspekt av att använda en visningslista som kan göra den omöjlig för vissa applikationer är det faktum att när instruktioner läggs till i en lista kan de inte ändras, vilket betyder att objektet som listan med kommandon representerar måste förbli exakt samma varje gång det är återges.
En viktig användning för en visningslista är att förhindra att grafikbearbetningsenheten (GPU) i en dator måste utföra samma sekvens av beräkningar varje gång en scen dras till utgångsenheten. Genom att lägga till grafikkommandon i en lista och sedan instruera programvaran som använder listan för att kompilera kommandona, utförs och lagras alla beräkningar för visning i minnet. Detta innebär att de flesta av beräkningarna redan har utförts varje gång objektet dras. När ett objekt måste ritas flera gånger inom en enda scen, kan det göras mycket snabbare med en enda visningslista.
Det finns flera funktioner som en skärmlista kan utföra när alla kommandon har laddats. För ett objekt som använder en bild som en struktur kan bildens ursprungliga färgdjup och andra egenskaper översättas till det format som krävs för upplösningen och grafikkortet som används. Ytmaterial, särskilt om de är skiktade, kan beräknas i förväg, vilket sparar en betydande tid under den slutliga återgivningen. Förutom andra beräkningar som utförts före rendering kan den sammanställda listinformationen lagras i grafikkortets minne istället för i separat datorminne eller virtuellt minne. Att ha den information som behövs för GPU lagrad på samma fysiska hårdvarukort kan öka återgivningshastigheten, eftersom den kommer att kunna resa mycket snabbare till processorn.
Avvägningen för att använda en displaylista är att beräkningarna måste lagras någonstans. Detta innebär att skapa många listor potentiellt kan använda en mycket större mängd datorminne än annars skulle behövas. Detta kan bero på antalet polygoner som krävs av ett objekt eller storleken på en bild som ska placeras i textminnet. För komplexa scener kan listans storlek överstiga mängden tillgängligt minne och påverka grafikkortets prestanda.