Вот достойный отзыв о VBOs.
Производительность
Вот хороший обзор семантики вызова.
Вот еще один хороший обзор проблем с производительностью; в нем мы видим, что VBO более производительны, чем массивы.
Причина, по которой мы предпочитаем VBO, заключается в том, что данные загружаются на карту, поэтому вам не нужно передавать их каждый кадр. В зависимости от типа созданного VBO, вы можете дать подсказки графическому драйверу об использовании (запись-много, чтение-много против записи-много, никогда не читать и т. Д.).
использование
VBO действительно хороши для статической геометрии, такой как ландшафт, который вы не ожидаете изменить, или для инстанцированной геометрии.
Вершинные массивы хороши для данных, которые часто изменяются, но которые также считываются хост-машиной, поэтому для прямой визуализации данных, которыми манипулируют (например, буферы данных лазерного дальномера, где я их использовал). Если вы можете избежать чтения данных на хост-устройстве (просто поместив их на карту), VBO в режиме только записи - хороший вариант.
портативность
Вершинные массивы на стороне клиента
Они доступны в OpenGL до версии 3.0, устарели в версии 3.0 и отсутствуют в версии 3.1+. OpenGL ES поддерживает их (OpenGL ES 2 нет).
VBOs
Они доступны после OpenGL 1.5. Это единственный способ хранить данные геометрии в OpenGL ES 2 (и так далее, WebGL).