2011-10-12 32 views
8

Trong tất cả các tài liệu và hướng dẫn tôi đã đọc về Vertex Buffer Objects, tất cả các tác giả đều đề cập đến việc bạn phải xóa bạn VBO trước khi ứng dụng thoát.Điều gì xảy ra nếu tôi không xóa đối tượng Vertex Buffer khi chương trình của tôi thoát?

Trong trường hợp chương trình bị lỗi hoặc bị giết theo cách chương trình không thể xóa VBO, điều gì sẽ xảy ra với VBO? Nó vẫn tồn tại trong RAM GPU cho đến khi máy tính được khởi động lại hay GPU cuối cùng có thể khôi phục bộ nhớ bị chiếm bởi VBO không?

Trả lời

8

Triển khai OpenGL sẽ xóa mọi đối tượng không được phân bổ. Điều đó không có nghĩa là bạn chỉ nên để chúng nằm xung quanh, nhưng bạn không cần phải thực hiện các biện pháp để đảm bảo rằng các đồ vật bị phá hủy trong trường hợp ngoại lệ đặc biệt (ví dụ: đâm).

Các vấn đề liên quan