Tương đương hiện đại của danh sách hiển thị là gì?


9

Về mặt lý thuyết, danh sách hiển thị là một tính năng OpenGL có thể tăng tốc bất kỳ phần nào của API bằng cách lưu trữ một nhóm lệnh để sử dụng sau này. Theo hiểu biết của tôi, điều này rất có ý nghĩa liên quan đến nỗ lực hiện tại để giảm chi phí lái xe.

Danh sách hiển thị không được dùng trong phiên bản 3.1. API hiện đại tương đương là gì và DirectX có phơi bày một tính năng tương tự không? Nếu không còn chức năng như vậy nữa, lý do là gì?

Câu trả lời:


12

Nvidia có một phần mở rộng để tạo bộ đệm lệnh trong GL hiện đại .

Lý do thiếu chức năng tương tự là có rất nhiều trạng thái liên quan đến cách hiển thị và danh sách hiển thị bị ảnh hưởng bởi rất nhiều trạng thái khác nhau. Ví dụ, thay đổi trạng thái pha trộn đòi hỏi phải vá shader mảnh trên một số phần cứng.

NVidia đã giải quyết nó bằng cách nắm bắt tất cả trạng thái và thiết lập lại trạng thái sau một công văn:

1) Điều gì thúc đẩy thiết kế?

Mục tiêu chính là có thể sử dụng lại bộ đệm lệnh được xác thực trước. Các API và đề xuất khác đã giải quyết vấn đề này với các hóa thân khác nhau của danh sách lệnh hoặc đối tượng trạng thái, nhưng một vấn đề định kỳ là sự tương tác giữa các giai đoạn khác nhau của đường ống ngăn chặn sự phổ biến và tái sử dụng này. Các tương tác này thường đặc trưng cho phần cứng (và khác nhau giữa nhà cung cấp với nhà cung cấp hoặc thậm chí thế hệ này sang thế hệ khác) và các tương tác mới được giới thiệu bởi các tính năng mới không được tưởng tượng khi đề xuất kế hoạch phổ biến.

Chúng tôi cố gắng giải quyết vấn đề này bằng cách có một đối tượng trạng thái nguyên khối bao gồm (gần như) toàn bộ trạng thái của đường ống. Điều này sẽ cung cấp đủ thông tin cho tất cả các triển khai để thực hiện bất kỳ xác nhận chéo cần thiết nào. Chúng tôi cố gắng tạo những thứ này theo cách giảm thiểu dấu chân API mới - vì chúng tôi muốn TẤT CẢ trạng thái (bao gồm mọi trạng thái được thêm vào trong tương lai), chúng tôi chỉ cần nắm bắt nó từ trạng thái hiện tại của bối cảnh.

[...]

23) Trong điều kiện nào là trạng thái còn lại, được sửa đổi bởi các mã thông báo, sau cuộc gọi công văn?

GIẢI QUYẾT: trạng thái được đặt lại.

(từ văn bản mở rộng được liên kết ở trên)

Tuy nhiên, sự kế thừa thực sự là chức năng bộ đệm lệnh trong DX12 và Vulkan. Những người cũng sẽ nắm bắt tất cả trạng thái kết xuất vào một đối tượng để sử dụng khi tạo và điền vào bộ đệm lệnh. Phần mở rộng NVidia dựa trên kiến ​​trúc đó là kết quả của sự tham gia của NVidia vào thiết kế Vulkan.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.