Bagikan melalui


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

IDirect3DDevice9Ex