Đây là một bài viết hay về VBO.
Hiệu suất
Dưới đây là một tổng quan tốt về ngữ nghĩa gọi.
Đây là một tổng quan tốt về các vấn đề hiệu suất; trong đó chúng ta thấy rằng các VBO có hiệu suất cao hơn các mảng.
Lý do chúng tôi thích VBO là dữ liệu được tải vào thẻ và vì vậy bạn không phải chuyển dữ liệu mỗi khung. Tùy thuộc vào loại VBO được tạo, bạn có thể đưa ra gợi ý cho trình điều khiển đồ họa về cách sử dụng (viết nhiều, đọc nhiều so với viết nhiều, không bao giờ đọc, v.v.).
Sử dụng
VBO thực sự tốt cho hình học tĩnh như địa hình mà bạn không muốn thay đổi hoặc cho hình học không ổn định.
Mảng Vertex tốt cho dữ liệu thay đổi thường xuyên nhưng cũng được máy chủ đọc - do đó, để hiển thị trực tiếp dữ liệu đang bị thao túng (ví dụ, bộ đệm dữ liệu của máy đo khoảng cách laser là nơi tôi đã sử dụng chúng) thường xuyên. Nếu bạn có thể thoát khỏi việc không bao giờ đọc dữ liệu trên thiết bị chủ (vì vậy, chỉ cần đẩy nó ra trên thẻ), VBO ở chế độ chỉ ghi là một lựa chọn tốt.
Tính di động
Mảng Vertex phía khách hàng
Chúng có sẵn trong OpenGL trước 3.0, không dùng nữa trong 3.0 và đi trong 3.1+. OpenGL ES hỗ trợ chúng (OpenGL ES 2 thì không).
VBO
Chúng có sẵn sau OpenGL 1.5. Đây là cách duy nhất để lưu trữ dữ liệu hình học trong OpenGL ES 2 (và do đó, WebGL).