Bagikan melalui


enumerasi D3D12DDI_BACKGROUND_PROCESSING_MODE_0062 (d3d12umddi.h)

Menunjukkan tingkat pembuatan profil dinamis dan kompilasi ulang shader apa yang diaktifkan untuk pemrosesan latar belakang.

Secara default, runtime akan menjadwalkan paling banyak satu tugas kompilasi latar belakang pada satu waktu, berjalan dengan prioritas menganggur sehingga meminimalkan risiko pekerjaan ini, memperkenalkan gangguan ke dalam penyajian latar depan.

Pengembang dan alat pembuatan profil dapat menyesuaikan perilaku ini dengan menggunakan kombinasi nilai enum ini.

Sintaks

typedef enum D3D12DDI_BACKGROUND_PROCESSING_MODE_0062 {
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING
} ;

Konstanta

 
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED adalah status default, di mana driver dapat melengkapi beban kerja dengan cara apa pun yang mereka pilih, dan dapat mengirimkan tugas CPU (biasanya kompilasi ulang PSO) ke runtime D3D untuk eksekusi prioritas rendah. Tujuan dari mode ini adalah untuk mengaktifkan pengoptimalan dinamis, tetapi tanpa memengaruhi performa penyajian latar depan.
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS mengisyaratkan bahwa pengemudi harus memprioritaskan kekayaan dan kelengkapan instrumentasi daripada menghindari gangguan, karena penyajian yang saat ini sedang berlangsung sedang dilakukan khusus untuk tujuan pelatihan dan tidak perlu dijalankan dengan performa yang lancar biasa.

Pembuatan profil berat semacam ini akan digunakan oleh alat analisis seperti PIX. Ini juga dapat digunakan dengan tolok ukur untuk menghangatkan status pengoptimalan sebelum mengambil pengukuran performa mereka yang sebenarnya, atau langsung oleh game pada waktu yang tepat (misalnya, pra-pelatihan driver dengan merender konten yang tidak terlihat di belakang menu).
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK mencegah eksekusi tugas pemrosesan latar belakang. Ketika bendera ini pertama kali diaktifkan, tugas yang sudah berlangsung akan diizinkan untuk dijalankan hingga selesai. Tugas yang telah dikirimkan UMD tetapi yang belum mulai berjalan akan dibatalkan, dan panggilan apa pun ke QueueProcessingWorkCB sementara sudah dalam status ini akan mengakibatkan panggilan balik pembatalan segera dipanggil.

Tentu saja UMD dapat memilih untuk melewati pengiriman tugas sepenuhnya saat dalam status dinonaktifkan, tetapi jika mengirimkan pekerjaan, runtime akan membatalkan daripada hanya gagal dalam operasi pengiriman, untuk menghindari UMD harus repot-repot menyinkronkan antara pengiriman kerja dan perubahan mode.

Jika bendera nonaktifkan diaktifkan pada saat yang sama dengan menentukan D3D12DDI_MEASUREMENTS_ACTION_0062_COMMIT_*, tugas baru apa pun yang dihasilkan UMD sebagai respons terhadap permintaan penerapan akan diizinkan untuk dijalankan sebelum penonaktifan berlaku.

Bendera nonaktifkan hanya valid saat mode pengembang diaktifkan.
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING
Selain menangguhkan kompilasi ulang shader dinamis, ini menunjukkan bahwa driver harus menghindari membuat perubahan perilaku yang akan mengganggu performa, seperti kebijakan cache penyetelan dinamis atau pola pengiriman komputasi. Ini untuk digunakan selama sesi pembuatan profil, di mana perbandingan A/B harus memberikan hasil pengaturan waktu yang stabil.

Bendera ini hanya valid ketika mode pengembang diaktifkan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, versi 1903
Header d3d12umddi.h