Koleksi varian Shader
Mengganti naungan pada runtime

Shader loading

Secara default, perilaku pemuatan shaderProgram yang berjalan di GPU. More info
Lihat di Glossary
runtime Unity adalah:

  1. Ketika Unity memuat sebuah adegan, atau memuat konten menggunakan pemuatan sumber daya runtime, itu memuat semua diperlukan Shader objectsContoh kelas Shader, objek Shader adalah wadah untuk program naungan dan instruksi GPU, dan informasi yang memberi tahu Unity bagaimana menggunakannya. Gunakan mereka dengan bahan untuk menentukan penampilan adegan Anda. More info
    Lihat di Glossary
    ke memori CPU.
  2. Pertama kali Unity perlu membuat geometri menggunakan varian warna, melewati data untuk varian itu ke driver grafis. Driver grafis menciptakan representasi dari varian itu pada GPU, dan melakukan pekerjaan tambahan yang dibutuhkan platform.

Manfaat perilaku ini adalah bahwa tidak ada penggunaan memori GPU di garis depan atau waktu beban untuk varian naungan. Kelemahan adalah bahwa ada kios yang terlihat ketika varian digunakan untuk pertama kalinya, karena driver grafis harus membuat program naungan di GPU dan melakukan pekerjaan tambahan.

Varietas naungan prewarming

Untuk menghindari kios yang terlihat pada waktu yang intensif, Unity dapat meminta driver grafis untuk membuat representasi GPU dari varian naungan sebelum mereka pertama diperlukan. Ini disebut prewarming.

Sitemap Periksa catatan pada dukungan API grafis sebelum memilih cara melakukan prewarming. Pada API grafis modern seperti DX12, Vulkan, dan Metal, hanya API Warning: eksperimental sepenuhnya didukung, karena memungkinkan Anda menentukan format simpul. Menggunakan metode lain dapat mengakibatkan pekerjaan dan memori GPU, tanpa memperbaiki kios.ShaderWarmup API is fully supported, because it lets you specify a vertex format. Using the other methods can result in wasted work and GPU memory, without fixing the stalls.

Anda dapat melakukan prewarming dengan cara berikut:

  • Prewarm objek Shader atau koleksi varian naungan yang diberikan menggunakan API ShaderWarmup eksperimental. Untuk dukungan API grafis, lihat catatan Sitemap
  • Koleksi varian naungan prewarm pada awal aplikasi, dengan menambahkannya ke Bagian naungan preloaded dari jendela Pengaturan Grafis. Untuk dukungan API grafis, lihat catatan 2. di
  • Prewarm koleksi varian naungan menggunakan API Login Login. Untuk dukungan API grafis, lihat catatan 2. di
  • Prewarm semua varian dari semua objek Shader saat ini dalam memori menggunakan API Shader.WarmupAllShaders. Untuk dukungan API grafis, lihat catatan 2. di

Notes:

  1. Sepenuhnya didukung pada semua API grafis.
  2. Dukungan penuh pada DX11 dan OpenGL. Secara terpisah didukung pada DX12, Vulkan, dan Logam; driver grafis mungkin masih perlu melakukan pekerjaan jika tata letak simpul dan / atau pengaturan target render berbeda dari data yang digunakan untuk menghangatkannya.

Penanda profil untuk pemuatan naungan

Penandaan profilerJendela yang membantu Anda untuk mengoptimalkan permainan Anda. Ini menunjukkan berapa banyak waktu yang dihabiskan di berbagai bidang permainan Anda. Sebagai contoh, dapat melaporkan persentase waktu yang dihabiskan rendering, aimating, atau dalam logika permainan Anda. More info
Lihat di Glossary
untuk Unity menciptakan representasi data varian naungan untuk mengirim ke GPU adalah Shader.Parse. profiler markerDitempatkan dalam kode untuk menggambarkan acara CPU atau GPU yang kemudian ditampilkan di jendela Unity Profileer. Ditambahkan ke kode Unity secara default, atau Anda dapat menggunakan untuk menambahkan penanda kustom Anda sendiri. More info
Lihat di Glossary
untuk mengunggah program naungan ke GPU, dan menunggu GPU untuk melakukan pekerjaan yang diperlukan, adalah CreateGPUProgram.

Untuk informasi tentang menggunakan Profiler Unity, lihat Profil.

Koleksi varian Shader
Mengganti naungan pada runtime