PFND3DDDI_QUERYRESOURCERESIDENCY fungsi panggilan balik (d3dumddi.h)
Fungsi QueryResourceResidency menentukan residensi daftar sumber daya yang diberikan.
Sintaks
PFND3DDDI_QUERYRESOURCERESIDENCY Pfnd3dddiQueryresourceresidency;
HRESULT Pfnd3dddiQueryresourceresidency(
HANDLE hDevice,
const D3DDDIARG_QUERYRESOURCERESIDENCY *unnamedParam2
)
{...}
Parameter
hDevice
Handel ke perangkat tampilan (konteks grafis).
unnamedParam2
pData [in]
Penunjuk ke struktur D3DDDIARG_QUERYRESOURCERESIDENCY yang menjelaskan daftar sumber daya tempat residensi diverifikasi.
Menampilkan nilai
QueryResourceResidency mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
S_OK | Semua sumber daya berada dalam memori yang dapat diakses GPU. |
S_RESIDENT_IN_SHARED_MEMORY | Tidak ada alokasi yang terdiri dari sumber daya yang ada di disk. Namun, setidaknya satu alokasi tidak berada dalam memori yang dapat diakses GPU. |
S_NOT_RESIDENT | Setidaknya satu alokasi yang terdiri dari sumber daya ada di disk. |
E_INVALIDARG | Parameter divalidasi dan ditentukan salah. |
E_OUTOFMEMORY | QueryResourceResidency tidak dapat mengalokasikan memori yang diperlukan untuk menyelesaikannya. |
Keterangan
Runtime Microsoft Direct3D memanggil fungsi QueryResourceResidency driver tampilan mode pengguna untuk aplikasi guna menentukan apakah sistem operasi akan menimbulkan stall yang signifikan pada waktu gambar jika sistem harus membuat sumber daya dapat diakses GPU. Informasi yang dikembalikan dari QueryResourceResidency adalah perkiraan residensi sumber daya karena sumber daya mungkin diturunkan sebelum aplikasi menggunakan sumber daya.
Fungsi QueryResourceResidency driver tampilan mode pengguna harus melakukan panggilan ke fungsi pfnQueryResidencyCb . Fungsi pfnQueryResidencyCb mengembalikan status residensi sumber daya dalam elemen array yang ditentukan oleh anggota pResidencyStatus dari struktur D3DDDICB_QUERYRESIDENCY . Jika pfnQueryResidencyCb mengembalikan D3DDDI_RESIDENCYSTATUS_NOTRESIDENT untuk kueri apa pun, QueryResourceResidency harus mengembalikan S_NOT_RESIDENT. Jika pfnQueryResidencyCb mengembalikan D3DDDI_RESIDENCYSTATUS_RESIDENTINSHAREDMEMORY untuk kueri apa pun dan tidak mengembalikan D3DDDI_RESIDENCYSTATUS_NOTRESIDENT untuk kueri apa pun, QueryResourceResidency harus mengembalikan S_RESIDENT_IN_SHARED_MEMORY. QueryResourceResidency harus mengembalikan S_OK hanya jika semua panggilan ke pfnQueryResidencyCb untuk semua kueri mengembalikan D3DDDI_RESIDENCYSTATUS_RESIDENTINGPUMEMORY.
Untuk setiap sumber daya yang dikueri runtime melalui panggilan ke QueryResourceResidency, driver tampilan mode pengguna harus menentukan alokasi mana yang termasuk dalam sumber daya untuk dikueri melalui panggilan ke pfnQueryResidencyCb. Untuk sumber daya yang memiliki satu alokasi, penentuannya sederhana --driver akan meminta alokasi tersebut. Namun, jika sumber daya memiliki beberapa alokasi, penentuannya lebih sulit. Driver harus menentukan alokasi mana yang kemungkinan akan digunakan aplikasi untuk penyajian, dan driver hanya harus meminta alokasi tersebut. Misalnya, jika sumber daya memiliki alokasi yang digunakan untuk penyajian dan alokasi awal yang menangani operasi penguncian, driver harus meminta hanya untuk residensi alokasi pertama, karena aplikasi kemungkinan besar tidak akan menggunakan alokasi kedua untuk penyajian.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows. |
Target Platform | Desktop |
Header | d3dumddi.h (termasuk D3dumddi.h) |