計算機圖形學中的顯示列表是一系列命令,當執行這些命令時,提供有關如何將對象繪制到屏幕或其他輸出設備的說明。使用顯示列表的目的是提高渲染場景的速度和效率,并使編程源代碼更易于閱讀。幾種類型的軟件和硬件使用顯示...
計算機圖形學中的顯示列表是一系列命令,當執行這些命令時,提供有關如何將對象繪制到屏幕或其他輸出設備的說明。使用顯示列表的目的是提高渲染場景的速度和效率,并使編程源代碼更易于閱讀。幾種類型的軟件和硬件使用顯示列表來顯示對象,包括基于矢量的圖形編輯軟件、一些游戲機系統和某些計算機圖形庫。使用顯示列表的一個方面可能會使它在某些應用程序中不可行,這一點是,一旦將指令添加到列表中,它們就不能被修改,這意味著命令列表所代表的對象每次呈現時必須保持完全相同。

人工控制計算機顯示列表的一個重要用途是防止計算機中的圖形處理單元(GPU)在每次將場景繪制到輸出設備時都必須執行相同的計算序列。方法是將圖形命令添加到列表中,然后指示使用該列表編譯的軟件命令,所有的顯示計算都被執行并存儲在內存中。這意味著每次繪制對象時,大多數計算都已執行。當一個對象必須在一個場景中多次繪制時,使用單個顯示列表可以更快地完成加載所有命令后,顯示列表可以執行多種功能。對于使用圖像作為紋理的對象,圖像的原始顏色深度和其他屬性可以轉換為所使用的分辨率和顯卡所需的格式。表面材料,尤其是分層的,可以提前計算,在最終渲染期間節省了大量時間。除了在渲染之前執行的其他計算外,編譯后的列表信息可能存儲在顯卡的內存中,而不是單獨的計算機內存或虛擬內存中。將GPU所需的信息存儲在同一物理硬件卡中可以提高渲染速度,因為它可以更快地到達處理器使用顯示列表的代價是計算需要存儲在某個地方。這意味著創建許多列表可能會占用比其他情況下所需的計算機內存大得多的計算機內存。這可能是因為多邊形的數量一個對象或圖像的大小需要放入紋理內存中。對于復雜場景,列表的大小可能會超過可用內存量,并影響顯卡的性能。