Untuk menggambar geometri pada layar, masalah Unity menarik panggilan ke API grafis. Panggilan menarik memberitahu API grafis apa yang harus menarik dan bagaimana menggambarnya. Setiap panggilan menggambar berisi semua informasi API grafis perlu menggambar di layar, seperti informasi tentang tekstur, shadersProgram yang berjalan di GPU. More info
Lihat di Glossary, dan penyangga. Gambar panggilan dapat menjadi intensif sumber daya, tetapi sering persiapan untuk panggilan penarikan lebih intensif sumber daya daripada panggilan penarikan itu sendiri.
Untuk menyiapkan panggilan menggambar, set CPU sumber daya dan perubahan pengaturan internal di GPU. Pengaturan ini secara kolektif disebut state render. Perubahan pada state render, seperti beralih ke bahan yang berbeda, adalah operasi yang paling intensif dari kinerja API grafis.
Karena perubahan render-state adalah intensif sumber daya, penting untuk mengoptimalkannya. Cara utama untuk mengoptimalkan perubahan render-state adalah untuk mengurangi jumlah dari mereka. Ada dua cara untuk melakukan ini:
Mengoptimalkan panggilan dan perubahan render-state memiliki sejumlah manfaat untuk aplikasi Anda. Terutama, meningkatkan waktu bingkai, tetapi juga:
Ada beberapa metode yang dapat Anda gunakan di Unity untuk mengoptimalkan dan mengurangi panggilan menggambar dan perubahan render-state. Beberapa metode lebih cocok untuk adegan tertentu daripada yang lain. Metode berikut tersedia dalam Unity:
position
dan normal
.Anda dapat menggunakan beberapa metode optimasi panggilan di tempat kejadian yang sama tetapi menyadari bahwa Unity memprioritaskan metode optimasi panggilan dalam urutan tertentu. Jika Anda menandai GameObject untuk menggunakan lebih dari satu metode optimasi panggilan, Unity menggunakan metode prioritas tertinggi. Satu-satunya pengecualian untuk ini adalah Login Login. Ketika Anda menggunakan SRP Batcher, Unity juga mendukung batching statis untuk GameObjects yang kompatibel SRP Batcher. Memprioritaskan pengoptimalan panggilan dalam urutan berikut:
Jika Anda menandai GameObject untuk batching statis dan Unity berhasil mengedepankannya, Unity menonaktifkan GPUlawcing untuk GameObject, bahkan jika renderer menggunakan naungan yang tidak tepat. Ketika ini terjadi, jendela InspectorJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary menampilkan pesan peringatan yang menunjukkan bahwa Anda menonaktifkan batching statis. Demikian pula, jika Unity dapat menggunakan GPUlawcing untuk mesh, Unity menonaktifkan batching dinamis untuk mesh itu.