Skip to main content

Что такое список отображения?

Список отображения в компьютерной графике представляет собой последовательность команд, которая при исполнении предоставляет инструкции о том, как нарисовать объект на экране или другом устройстве вывода. Целью использования списка отображения является повышение скорости и эффективности визуализируемых сцен, а также облегчение чтения исходного кода программирования. Несколько типов программного и аппаратного обеспечения используют список отображения для отображения объектов, включая программное обеспечение для редактирования векторной графики, некоторые системы игровых приставок и определенные библиотеки компьютерной графики. Одним из аспектов использования списка отображения, который может сделать его невозможным для определенных приложений, является тот факт, что после добавления инструкций в список их невозможно изменить, то есть объект, представленный в списке команд, должен оставаться неизменным каждый раз, когда он оказаны.

Важным использованием списка отображения является предотвращение необходимости выполнения одной и той же последовательности вычислений блоком графической обработки (GPU) в компьютере каждый раз, когда сцена выводится на устройство вывода. Добавляя графические команды в список, а затем инструктируя программное обеспечение, которое использует список для компиляции команд, все вычисления для отображения выполняются и сохраняются в памяти. Это означает, что большинство вычислений уже выполняются каждый раз, когда объект рисуется. Когда объект должен быть нарисован несколько раз в пределах одной сцены, это можно сделать намного быстрее, используя один список отображения.

Существует несколько функций, которые может выполнять список отображения после загрузки всех команд. Для объекта, использующего изображение в качестве текстуры, исходную глубину цвета изображения и другие свойства можно преобразовать в формат, необходимый для используемого разрешения и графической карты. Поверхностные материалы, особенно слоистые, могут быть рассчитаны заранее, что значительно экономит время при окончательном рендеринге. В дополнение к другим вычислениям, выполняемым перед рендерингом, информация скомпилированного списка может храниться в памяти графической карты, а не в отдельной памяти компьютера или виртуальной памяти. Хранение информации, необходимой для графического процессора, в той же физической аппаратной плате может увеличить скорость рендеринга, поскольку она сможет гораздо быстрее перемещаться к процессору.

Компромисс для использования списка отображения - то, что вычисления должны быть сохранены где-нибудь. Это означает, что создание множества списков потенциально может использовать гораздо больший объем памяти компьютера, чем было бы необходимо в противном случае. Это может быть из-за количества полигонов, требуемых объектом, или размера изображения, которое нужно поместить в память текстур. Для сложных сцен размер списков может превышать объем доступной памяти и влиять на производительность видеокарты.