ПрограммированиеФорумГрафика

Списки отображения - прирост производительности?

#0
19:40, 6 мар 2011

Использую OpenGL 2.1.
Есть вопрос относительно Списков отображения. Будет ли быстрее отрисовываться квад, если я вместо

glBegin(GL_QUADS);
glVertex2f(-1.0, 1.0);
glVertex2f(1.0, 1.0);
glVertex2f(1.0, -1.0);
glVertex2f(-1.0, -1.0);
glEnd();

сделаю с помощью списка отображения:

glNewList(list, GL_COMPILE)
glBegin(GL_QUADS);
glVertex2f(-1.0, 1.0);
glVertex2f(1.0, 1.0);
glVertex2f(1.0, -1.0);
glVertex2f(-1.0, -1.0);
glEnd();
glEndList();

и буду его вызывать когда мне нужно отрисовать квад?
И ещё вопрос: сохраняются ли стейты в списке отображения?

#1
19:49, 6 мар 2011

> Будет ли быстрее отрисовываться квад, если я вместо
нет

VBO...

#2
19:56, 6 мар 2011

дальше последует холивар на 10 страниц что быстрые и под каким соусом ...

#3
20:35, 6 мар 2011

Насколько я помню, дисплейный список - это то же выполнение команд OpenGL, что и непосредственное использование этих команд. Он нужен просто для удобства. Значит:
1. Прироста производительности не будет.
2. Должны сохраняться, если команды изменения состояния компилируются в список.

#4
20:46, 6 мар 2011

KrIvёl
Если ты запихнёшь в один дисплейный список 100500 квадов то да, будет.
Но лучше юзать VBO.

#5
21:04, 6 мар 2011

Всем спасибо за ответы.

Я просто пишу сейчас движок, 2d. Пока наверно не буду возится с VBO, но позже сделаю несколько вариантов отрисовки - через списки, через массивы и через VBO. А пока списков мне хватит за глаза...

#6
22:50, 6 мар 2011

DimaO
> Насколько я помню, дисплейный список - это то же выполнение команд OpenGL, что
> и непосредственное использование этих команд.
Не совсем, одинаков результат но не реализация.

>1. Прироста производительности не будет.
Возможно что будет не хуже чем VBO. Зависит от "дров" т.е. от того как именно списки реализовали разарботчики. Впрочем, фича достаточно стара и реализация может быть по остаточному принципу :)

ПрограммированиеФорумГрафика

Тема в архиве.

Тема закрыта.