Tôi đang làm một trò chơi 3D người đầu tiên. Tôi có nên cung cấp cho mỗi nhân vật một VBO riêng hay tôi nên gộp tất cả các nhân vật vào một VBO? Những ưu / nhược điểm là gì?
Tôi đang làm một trò chơi 3D người đầu tiên. Tôi có nên cung cấp cho mỗi nhân vật một VBO riêng hay tôi nên gộp tất cả các nhân vật vào một VBO? Những ưu / nhược điểm là gì?
Câu trả lời:
Đây thực sự là một lựa chọn giữa hiệu suất và tính linh hoạt, nhưng tôi sẽ liệt kê ý kiến của mình về nó.
Một VBO duy nhất
Những mặt tích cực là:
và các mặt tiêu cực là:
VBO cá nhân: s
Những mặt tích cực là:
và các mặt tiêu cực là:
Tóm lược
Tôi khuyên bạn nên hồ sơ ứng dụng của bạn; có được nút cổ chai thực sự của bạn trong dữ liệu bạn có thể nhìn thấy. Tối ưu hóa sớm có thể được hiển thị (trong trường hợp này) là không cần thiết. Tuy nhiên, như đã nói, nếu bạn phát hiện ra sự mất hiệu suất thực sự trong ứng dụng của mình, với kịch bản VBO: s riêng lẻ , bạn có thể bắt đầu triển khai một VBO duy nhất.
Tuy nhiên, miễn là không cần thiết (số lượng đối tượng thấp, không có nhiều thay đổi trạng thái tổng thể, v.v.) Tôi khuyên bạn nên đi với từng VBO: trừ khi bạn thấy điều đó sẽ không hoạt động.
Biên tập
Tôi quên đề cập rằng nó sẽ ổn với nhiều cuộc gọi rút thăm. Điều quan trọng nhất trong thời gian quan trọng thực hiện là giữ cho các thay đổi trạng thái ở mức tối thiểu. Bạn có thể chỉ cần đặt số lượng chỉ mục để xử lý và bù cho mỗi cuộc gọi rút thăm, và điều này là tốt. Tuy nhiên, hãy giữ các thay đổi trạng thái càng thấp càng tốt và thực hiện càng ít cuộc gọi rút thăm càng tốt, đó là lời chào lớn của câu trả lời này, hoặc ít nhất là những gì tôi đã cố gắng nói.