Объем памяти VAOs

#opengl-es

#opengl-es

Вопрос:

Может кто-нибудь сказать мне, насколько велики VAO в памяти cpu / gpu по сравнению с VBO? Мой план состоял в том, чтобы выделить большое количество VAOS при запуске программы в виде пула, а затем назначить их определенным вызовам рендеринга по мере необходимости.

С уважением

Ответ №1:

VAOS — это просто привязки буфера метаданных и смещения. VBO — это фактические буферы данных, содержащие все ваши данные о вершинах. VAOS будут на порядки меньше, чем VBO.

Тем не менее, почему вы хотите создать их пул? Это подразумевает, что вы будете воссоздавать их во время рисования, что несколько искажает суть. Единственное реальное преимущество VAOs по сравнению с просто прямыми привязками и смещениями заключается в том, что у вас нет затрат времени выполнения на их постоянное воссоздание…

Комментарии:

1. У меня есть пул инициализированных VAOs. Когда объекту больше не нужен vao, он возвращается в пул, но не деинициализируется. Если другому объекту нужен vao, он просто берет его из пула, изменяет привязки атрибутов и использует его.