Pengiriman kerja di Direct3D 12
Untuk meningkatkan efisiensi CPU aplikasi Direct3D, pada versi 12, Direct3D tidak lagi mendukung konteks langsung yang terkait dengan perangkat. Sebagai gantinya, aplikasi Anda merekam lalu mengirimkan daftar perintah, yang berisi panggilan manajemen gambar dan sumber daya. Anda dapat mengirimkan daftar perintah ini dari beberapa utas ke satu atau beberapa antrean perintah, yang mengelola eksekusi perintah. Perubahan mendasar ini meningkatkan efisiensi utas tunggal dengan memungkinkan aplikasi Anda melakukan pekerjaan rendering pra-komputasi untuk digunakan kembali nanti, dan memanfaatkan sistem multi-inti dengan menyebarkan pekerjaan penyajian di beberapa utas.
Di bagian ini
Topik | Deskripsi |
---|---|
Filsafat desain antrean perintah dan daftar perintah | Tujuan memungkinkan penggunaan kembali pekerjaan penyajian dan penskalaan multi-utas, memerlukan perubahan mendasar pada cara aplikasi Direct3D mengirimkan pekerjaan penyajian ke GPU. |
Membuat dan merekam daftar perintah dan bundel | Topik ini menjelaskan daftar perintah perekaman dan bundel di aplikasi Direct3D 12. Daftar perintah dan bundel keduanya memungkinkan aplikasi merekam panggilan gambar atau perubahan status untuk eksekusi nanti pada unit pemrosesan grafis (GPU). |
Menjalankan dan menyinkronkan daftar perintah | Di Microsoft Direct3D 12, mode langsung dari versi sebelumnya tidak lagi ada. Sebagai gantinya, aplikasi membuat daftar perintah dan bundel lalu merekam kumpulan perintah GPU. Antrean perintah digunakan untuk mengirimkan daftar perintah yang akan dijalankan. Model ini memungkinkan pengembang untuk memiliki kontrol lebih besar atas penggunaan GPU dan CPU yang efisien. |
Mengelola status alur grafik di Direct3D 12 | Topik ini menjelaskan bagaimana status alur grafis diatur dalam Direct3D 12. |
Menggunakan penghalang sumber daya untuk menyinkronkan status sumber daya di Direct3D 12 | Untuk mengurangi penggunaan CPU secara keseluruhan dan mengaktifkan multi-utas driver dan pra-pemrosesan, Direct3D 12 memindahkan tanggung jawab manajemen status per sumber daya dari driver grafis ke aplikasi. |
Alur dan shader dengan Direct3D 12 | Alur Direct3D 12 yang dapat diprogram secara signifikan meningkatkan performa penyajian dibandingkan dengan antarmuka pemrograman grafis generasi sebelumnya. |
Bayangan laju variabel (VRS) | Bayangan laju variabel—atau bayangan piksel kasar—adalah mekanisme yang memungkinkan Anda mengalokasikan performa/daya penyajian pada laju yang bervariasi di seluruh gambar yang Anda render. |
Render pass | Fitur render passes membantu perender Anda meningkatkan efisiensi GPU dengan mengurangi lalu lintas memori ke/dari memori off-chip; ini dilakukan dengan memungkinkan aplikasi Anda mengidentifikasi persyaratan pemesanan dan dependensi data penyajian sumber daya dengan lebih baik. |