Metode IDirect3DDevice9Ex::CheckResourceResidency (d3d9.h)
Memeriksa array sumber daya untuk menentukan apakah kemungkinan sumber daya tersebut akan menyebabkan kios besar pada waktu Draw karena sistem harus membuat sumber daya dapat diakses GPU.
Sintaks
HRESULT CheckResourceResidency(
[in] IDirect3DResource9 **pResourceArray,
[in] UINT32 NumResources
);
Parameter
[in] pResourceArray
Jenis: IDirect3DResource9**
Array pointer IDirect3DResource9 yang menunjukkan sumber daya untuk diperiksa.
[in] NumResources
Jenis: UINT32
Nilai yang menunjukkan jumlah sumber daya yang diteruskan ke parameter pResourceArray hingga maksimum 65535.
Menampilkan nilai
Jenis: HRESULT
Jika semua sumber daya berada dalam memori yang dapat diakses GPU, metode akan mengembalikan S_OK. Sistem mungkin perlu melakukan operasi remapping untuk mempromosikan sumber daya, tetapi tidak perlu menyalin data.
Jika tidak ada alokasi yang terdiri dari sumber daya pada disk, tetapi setidaknya satu alokasi tidak berada dalam memori yang dapat diakses GPU, metode akan mengembalikan S_RESIDENT_IN_SHARED_MEMORY. Sistem mungkin perlu melakukan salinan untuk mempromosikan sumber daya.
Jika setidaknya satu alokasi yang terdiri dari sumber daya ada di disk, metode ini akan mengembalikan S_NOT_RESIDENT. Sistem mungkin perlu melakukan salinan untuk mempromosikan sumber daya.
Keterangan
API ini tidak lebih dari tebakan yang wajar di residensi, karena sumber daya mungkin telah diturunkan pada saat aplikasi menggunakannya.
Pola penggunaan yang diharapkan adalah sebagai berikut. Jika aplikasi menentukan bahwa sekumpulan sumber daya tidak residen, maka aplikasi akan menggantikan versi LOD sumber daya yang lebih rendah dan melanjutkan penyajian. API manajer memori video, menawarkan fitur untuk memungkinkan aplikasi mengekspresikan bahwa aplikasi ingin sumber daya LOD yang lebih rendah ini dibuat lebih mungkin untuk tetap tinggal di memori yang dapat diakses GPU. Aplikasi bertanggung jawab untuk membuat, mengisi, dan menghancurkan versi LOD yang lebih rendah ini, jika dipilih.
Aplikasi ini juga perlu memulai promosi versi LOD yang lebih tinggi ketika pemeriksaan residensi menunjukkan bahwa sumber daya tidak berada di memori yang dapat diakses GPU. Karena kunci per proses ada dalam mode kernel, implementasi berkinerja akan menghasilkan proses terpisah yang satu-satunya pekerjaannya adalah mempromosikan sumber daya. Aplikasi ini mengkomunikasikan identitas sumber daya antara kedua proses melalui API permukaan bersama Sumber Daya Berbagi dan mempromosikannya melalui SetPriority.
Persyaratan
Target Platform | Windows |
Header | d3d9.h |
Pustaka | D3D9.lib |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk