Hva er en visningsliste?
En visningsliste i datamaskingrafikk er en sekvens med kommandoer som, når de kjøres, gir instruksjoner om hvordan du tegner et objekt til skjermen eller annen utdatamaskin. Hensikten med å bruke en visningsliste er å øke hastigheten og effektiviteten til scenene som er gjengitt, samt å gjøre programmeringskildekoden enklere å lese. Flere typer programvare og maskinvare bruker en visningsliste for å vise objekter, inkludert vektorbasert grafikkredigeringsprogramvare, noen spillkonsollsystemer og visse datagrafikkbiblioteker. Et aspekt ved bruk av en visningsliste som kan gjøre det ubrukelig for visse applikasjoner er det faktum at når instruksjoner er lagt til en liste, kan de ikke endres, noe som betyr at objektet som listen over kommandoer representerer må forbli nøyaktig det samme hver gang det er gjengis.
En viktig bruk for en visningsliste er å forhindre at grafikkbehandlingsenheten (GPU) i en datamaskin trenger å utføre den samme sekvensen av beregninger hver gang en scene tegnes til utgangsenheten. Ved å legge grafikkommandoer til en liste og deretter instruere programvaren som bruker listen til å kompilere kommandoene, blir alle beregningene for visning utført og lagret i minnet. Dette betyr at de fleste av beregningene allerede er utført hver gang objektet tegnes. Når et objekt må tegnes flere ganger i en enkelt scene, kan det gjøres mye raskere ved å bruke en enkelt visningsliste.
Det er flere funksjoner som en displayliste kan utføre når alle kommandoene er lastet inn. For et objekt som bruker et bilde som tekstur, kan bildets opprinnelige fargedybde og andre egenskaper oversettes til formatet som kreves for oppløsningen og grafikkortet som brukes. Overflatematerialer, spesielt hvis de er lagdelte, kan beregnes på forhånd, noe som sparer en betydelig mengde tid under den endelige gjengivelsen. I tillegg til andre beregninger som er utført før gjengivelsen, kan informasjonen om den kompilerte listen lagres i grafikkortets minne i stedet for i separat dataminne eller virtuelt minne. Å ha den informasjonen som er nødvendig for GPU-enheten lagret på det samme fysiske maskinvarekortet, kan øke gjengivelseshastigheten, fordi den vil kunne reise mye raskere til prosessoren.
Avveiningen for å bruke en visningsliste er at beregningene må lagres et sted. Dette betyr at det å lage mange lister potensielt kan bruke en mye større datamaskinminne enn ellers ville være nødvendig. Dette kan skyldes antall polygoner som kreves av et objekt eller størrelsen på et bilde som skal plasseres i teksturminnet. For komplekse scener kan størrelsen på listene overstige mengden tilgjengelig minne og påvirke ytelsen til grafikkortet.