Instance cải thiện hiệu suất (đáng kể) khi hiển thị nhiều bản sao (hunders? Hàng ngàn?) Của cùng một lưới. Nhưng nó có bao nhiêu chi phí khi kết xuất chính xác một bản sao với một lệnh gọi? Nó sẽ là một ý tưởng tốt hay xấu khi sử dụng instaging cho tất cả các hình học được kết xuất bởi động cơ?
Chỉnh sửa: Giả sử chúng tôi đang tạo một trò chơi FPS. Hầu hết các đối tượng chỉ có một ví dụ: dao, súng, súng máy, tòa nhà và tháp radio. Nhưng cũng có một số đối tượng có nhiều trường hợp: cây (ví dụ 3 loại cây với hàng trăm trường hợp), cỏ và vân vân ... Ý tôi là: thay vì hiển thị các đối tượng một cách theo cách và cây "truyền thống" và cỏ sử dụng inst instaging, chúng tôi kết xuất tất cả chúng bằng inst instaging. Vì vậy, tháp radio của chúng tôi chỉ có một thể hiện (có thông tin chúng tôi lưu trữ trong bộ đệm dữ liệu cá thể) và chúng tôi kết xuất tháp đó bằng cách sử dụng một số loại DrawInstanced()
cuộc gọi với số lượng cá thể bằng nhau 1
. Tương tự với tất cả các đối tượng khác (tất nhiên, cây và cỏ có nhiều trường hợp).
Vì vậy, câu hỏi của tôi là: có phải là một ý tưởng tồi khi vẽ một trường hợp duy nhất của một đối tượng bằng cách sử dụng không? Liệu instaging có quá nhiều chi phí hoạt động (bộ nhớ và hiệu năng) hay nó theo bất kỳ cách nào không mong muốn để hiển thị các đối tượng đơn lẻ?