Это что-то вроде мифа о том, что списки волшебным образом выгружают все в GPU. Если бы это было действительно так, текстурные объекты и буферы вершин не нужно было бы добавлять в OpenGL. Весь список отображения на самом деле представляет собой удобный способ воспроизведения последовательности вызовов OpenGL и, возможно, сохранение некоторых затрат на вызов функции / преобразование данных (см. здесь ). Насколько я могу судить, ни одна из реализаций PC HW, которые я использовал, не дала ничего большего, чем это; Может быть, это было иначе во времена рабочих станций SGI, но в наши дни буферные объекты - это путь. (А современные книги по OpenGL, такие как OpenGL Distilled , дают glBegin / glEnd и т. Д. Кратчайшие упоминания только перед тем, как заняться новым материалом).
Единственное место, где я видел списки дисплеев, имеют огромное значение - это случай GLX / X11, когда ваше приложение работает удаленно на вашем дисплее (X11 "сервер"); в этом случае использование списка отображения действительно выдвигает все состояния списка отображения на сторону дисплея только один раз, тогда как приложению немедленного режима без списка отображения необходимо отправлять кучу материала снова каждый кадр, используя намного большую пропускную способность.
Однако, если оставить в стороне списки, вы должны знать о некоторых проблемах, связанных с vsync и занятым ожиданием (или его иллюзией) ... см. этот вопрос / ответ.