Display list

A display list (or display file) is a series of graphics commands that define an output image. The image is created (rendered) by executing the commands.

For a display device without a frame buffer, such as the old vector graphics displays, the commands were executed every fraction of a second to maintain and animate the output. In modern systems, the commands need only be executed when they have changed or in order to refresh the output (e.g., when restoring a minimized window).

A display list can represent both two- and three-dimensional scenes. Systems that make use of a display list to store the scene are called retained mode systems as opposed to immediate mode systems.

Perhaps the earliest popular systems with true display list was the Atari 8-bit family. The display list (actually called so in Atari terminology) is a series of instructions for ANTIC, the video co-processor used in these machines. This program, stored in the computer's memory and executed by ANTIC in real time, controls the GTIA video interface controller chip to create the actual screen display.

In some older computer systems such as the Commodore 64, a display list can be defined as a CPU-driven series of writes to certain display-mode, color-control, or other visual effect registers in the video device, rather than a series of rendering commands. Thus, one must create the displayed image using some other rendering process either before or while the display list is operating. In many cases, the image is also modified or re-rendered between frames, often with the display list turned off during this time. The image is then displayed in various ways depending on the exact way in which the display list is implemented.

Examples of display lists on these older machines might include effects such as the Amiga's HAM modes, Commodore 64/128's FLI mode, or Rainbow Processing on the ZX Spectrum.

Many hardcopy devices also make use of display lists to avoid the necessity of a frame buffer. As an example, a high-resolution PostScript printer printing A4 pages at 600 dpi would need in excess of a gigabyte of RAM for its framebuffer. By converting the PostScript or other page description language input into a series of graphics commands, the contents of a page can usually be represented in a more modest amount of memory. The commands can then be scan converted (or rasterized) into pixels and fed to the printer engine a few scan lines at a time.