Saya menggunakan XNA untuk proyek-proyek saya dan di forum-forum itu saya terkadang melihat referensi ke fakta bahwa bertukar efek untuk mesh memiliki biaya yang relatif tinggi, yang mengejutkan saya karena saya berpikir untuk menukar efek hanyalah sebuah kasus menyalin program shader pengganti ke GPU bersama dengan parameter yang sesuai.
Saya bertanya-tanya apakah seseorang dapat menjelaskan dengan tepat apa yang mahal dari proses ini? Dan menempatkan, jika mungkin, 'relatif' ke dalam konteks?
Misalnya, saya ingin menggunakan shader pendek untuk membantu memetik, saya akan:
- Ubah efek pada setiap objek, buat warna unik untuk mengidentifikasinya dan berikan ke shader.
- Gambar semua objek ke target render dalam memori.
- Dapatkan warna dari target dan gunakan untuk mencari objek yang dipilih.
Berapa bagian dari total waktu yang dibutuhkan untuk menyelesaikan proses yang akan dihabiskan menukar shader? Naluri saya akan mengatakan bahwa merender adegan lagi, tidak peduli sesederhana apa shadernya, akan menjadi urutan besarnya lebih lambat daripada bagian lain dari proses jadi mengapa semua kekhawatiran tentang efek?