Bagikan melalui


Pertimbangan Performa (Direct3D 10)

Menggunakan Kumpulan Efek

Adalah umum untuk merender alur untuk menggunakan banyak shader untuk merender berbagai jenis objek dan efek khusus. Shader adalah campuran status yang umum di antara semua shader seperti matriks dunia atau posisi cahaya, dan status lain yang khusus untuk setiap shader seperti warna difus objek, atau perhitungan sorotan spekular. Kumpulan efek adalah tempat dalam memori untuk menyimpan status yang digunakan di banyak shader, serta objek perangkat umum seperti shader, merender objek status dan buffer konstanta. Peningkatan performa dihasilkan dari memperbarui status umum sekali untuk semua shader yang membutuhkan status tersebut.

Kumpulan efek adalah lokasi memori bersama untuk status efek. Kumpulan dibuat mirip dengan efek; dapat dibuat dari memori (atau file atau sumber daya). Ini mengarah pada dua jenis efek yang berbeda: efek global yang tidak bergantung pada status dalam efek lain versus efek anak yang tergantung pada status dalam efek lain.

Anda menentukan apakah efek adalah efek global (kasus default) atau efek anak (dengan menyediakan bendera D3D10_EFFECT_COMPILE_CHILD_EFFECT ) saat efek dibuat. Efek global dapat berfungsi sebagai kumpulan efek; efek anak tidak boleh berupa kumpulan efek.

Merender Efek

Efek (Direct3D 10)