计算机图形学中的显示列表是一系列命令,当执行这些命令时,提供有关如何将对象绘制到屏幕或其他输出设备的说明。使用显示列表的目的是提高渲染场景的速度和效率,并使编程源代码更易于阅读。几种类型的软件和硬件使用显示...
计算机图形学中的显示列表是一系列命令,当执行这些命令时,提供有关如何将对象绘制到屏幕或其他输出设备的说明。使用显示列表的目的是提高渲染场景的速度和效率,并使编程源代码更易于阅读。几种类型的软件和硬件使用显示列表来显示对象,包括基于矢量的图形编辑软件、一些游戏机系统和某些计算机图形库。使用显示列表的一个方面可能会使它在某些应用程序中不可行,这一点是,一旦将指令添加到列表中,它们就不能被修改,这意味着命令列表所代表的对象每次呈现时必须保持完全相同。

人工控制计算机显示列表的一个重要用途是防止计算机中的图形处理单元(GPU)在每次将场景绘制到输出设备时都必须执行相同的计算序列。方法是将图形命令添加到列表中,然后指示使用该列表编译的软件命令,所有的显示计算都被执行并存储在内存中。这意味着每次绘制对象时,大多数计算都已执行。当一个对象必须在一个场景中多次绘制时,使用单个显示列表可以更快地完成加载所有命令后,显示列表可以执行多种功能。对于使用图像作为纹理的对象,图像的原始颜色深度和其他属性可以转换为所使用的分辨率和显卡所需的格式。表面材料,尤其是分层的,可以提前计算,在最终渲染期间节省了大量时间。除了在渲染之前执行的其他计算外,编译后的列表信息可能存储在显卡的内存中,而不是单独的计算机内存或虚拟内存中。将GPU所需的信息存储在同一物理硬件卡中可以提高渲染速度,因为它可以更快地到达处理器使用显示列表的代价是计算需要存储在某个地方。这意味着创建许多列表可能会占用比其他情况下所需的计算机内存大得多的计算机内存。这可能是因为多边形的数量一个对象或图像的大小需要放入纹理内存中。对于复杂场景,列表的大小可能会超过可用内存量,并影响显卡的性能。