Penautan Dinamis
Pengembang grafis terkadang membuat shader tujuan umum besar yang dapat digunakan oleh berbagai item adegan. Pada runtime, shader secara kondisional menjalankan kode yang sesuai untuk situasi tertentu. Sayangnya, shader besar tujuan umum ini menggunakan general-purpose register (GPR) secara tidak efisien, dan bisa jauh lebih lambat daripada shader yang lebih kecil dan lebih ditargetkan.
Model shader 5 mengatasi masalah performa ini dengan memperkenalkan penautan shader dinamis. Penautan dinamis memisahkan fragmen kode shader dengan menggunakan antarmuka dan fungsi virtual dan memungkinkan aplikasi untuk memilih fragmen yang akan digunakan pada waktu gambar. Ini meningkatkan performa dengan hanya mengikat kode shader yang diperlukan dan bukan seluruh shader besar tujuan umum.
Di Bagian Ini
Item | Deskripsi |
---|---|
Menyimpan Variabel dan Jenis untuk Dibagikan Oleh Shader |
Menjelaskan objek tautan kelas untuk menyimpan variabel dan jenis yang dapat dibagikan oleh beberapa shader. |
Antarmuka dan Kelas |
Menjelaskan penggunaan antarmuka dan kelas HLSL untuk mengimplementasikan penautan dinamis. |
Pembatasan Penggunaan Antarmuka |
Menjelaskan pembatasan penggunaan antarmuka dalam kode shader. |