Una Display List es una estructura de datos que encapsula una serie de operaciones de dibujo (como transformaciones, cambios de estado, y comandos de renderizado de primitivas) en un formato precompilado y optimizado. En lugar de enviar comandos individuales a la GPU en tiempo real, la aplicación construye una Display List una vez y luego la "ejecuta" múltiples veces. Esto reduce la sobrecarga de la CPU al interactuar con la GPU, ya que la GPU puede procesar la lista de comandos de forma más autónoma y eficiente, a menudo beneficiándose de la localidad de datos y la ejecución en paralelo.

Las Display Lists han sido un concepto fundamental en APIs gráficas 3D. OpenGL, en sus versiones más antiguas (hasta la 2.1), ofrecía Display Lists explícitas como una forma de optimizar el rendimiento. Aunque en las versiones modernas de OpenGL (Core Profile) y en APIs como Vulkan, DirectX 12 y Metal, el concepto directo de Display List ha sido reemplazado por mecanismos más flexibles y de bajo nivel como "Command Buffers" o "Command Lists", la idea subyacente de pre-grabar y ejecutar lotes de comandos gráficos persiste. Estos Command Buffers permiten a los desarrolladores construir y enviar paquetes de trabajo a la GPU, logrando beneficios similares de reducción de overhead y optimización de la ejecución.

Para un arquitecto de sistemas, entender el concepto de Display List (o sus equivalentes modernos como Command Buffers) es crucial para diseñar sistemas gráficos de alto rendimiento. La decisión de cómo y cuándo construir y ejecutar estas listas impacta directamente la latencia, el throughput y el consumo de recursos de la CPU y la GPU. Un uso ineficiente puede llevar a cuellos de botella en el driver gráfico o en la propia GPU. Los arquitectos deben considerar trade-offs entre la flexibilidad de enviar comandos individuales y la eficiencia de agruparlos, especialmente en escenarios donde los mismos objetos o efectos se renderizan repetidamente, o donde la CPU está muy cargada y necesita delegar más trabajo a la GPU. La gestión de la memoria y la sincronización de estos buffers de comandos también son consideraciones clave en arquitecturas de sistemas distribuidos o de tiempo real.