Bagikan melalui


struktur D3DDEVINFO_VCACHE (d3d9types.h)

DirectX 8.1 dan versi yang lebih baru saja.

Struktur D3DDEVINFO_VCACHE menjelaskan informasi vertex-cache perangkat.

Sintaks

typedef struct _D3DDEVINFO_VCACHE {
  DWORD Pattern;
  DWORD OptMethod;
  DWORD CacheSize;
  DWORD MagicNumber;
} D3DDEVINFO_VCACHE, *LPD3DDEVINFO_VCACHE;

Anggota

Pattern

Menentukan pola bit. Driver harus menentukan pola bit sebagai nilai KODE empat karakter CACH (FOURCC). Driver dapat menggunakan makro MAKEFOURCC sebagai berikut untuk menentukan nilai FOURCC sebagai CACH:

MAKEFOURCC('C', 'A', 'C', 'H');

OptMethod

Menentukan metode pengoptimalan jala. Driver dapat menggunakan salah satu nilai berikut untuk menentukan pengoptimalan jala yang digunakannya:

Nilai Makna
D3DXMESHOPT_STRIPREORDER (0) Pengoptimalan strip terpanjang
D3DXMESHOPT_VCACHE (1) Pengoptimalan berbasis vertex-cache

CacheSize

Menentukan ukuran efektif, dalam entri, di mana driver mengoptimalkan cache vertex. Ukuran cache aktual tidak diperlukan untuk menjadi ukuran yang ditentukan dalam CacheSize karena dalam kebanyakan kasus ukuran cache aktual ternyata lebih besar. Driver hanya menentukan ukuran yang dioptimalkan dalam CacheSize jika juga menentukan D3DXMESHOPT_VCACHE di anggota OptMethod .

MagicNumber

Menentukan angka yang harus digunakan sebagai bagian dari prosedur uji coba dan kesalahan saat menentukan kapan harus memulai ulang daftar strip. Angka ini dapat diatur dari 1 ke nilai di anggota CacheSize . Biasanya, nilai terbaik berada di dekat CacheSize/2.

Keterangan

Hanya versi DirectX 8.1. Runtime Direct3D memanggil fungsi D3dGetDriverState driver untuk mendapatkan informasi vertex-cache dari driver. Dalam panggilan D3dGetDriverState ini, runtime menentukan bendera D3DDEVINFOID_VCACHE di anggota dwFlags dari struktur DD_GETDRIVERSTATEDATA yang dilewati runtime. Driver menentukan informasi vertex-cache dalam struktur D3DDEVINFO_VCACHE dan mengembalikannya pada anggota lpdwStates dari DD_GETDRIVERSTATEDATA.

DirectX 9.0 dan versi yang lebih baru saja. Runtime Direct3D menentukan perintah D3DDP2OP_CREATEQUERY dan D3DDP2OP_ISSUEQUERY dalam panggilan ke panggilan balik D3dDrawPrimitives2 driver untuk membuat sumber daya sisi driver untuk kueri lalu secara asinkron meminta driver untuk informasi vertex-cache. Dalam panggilan dengan perintah D3DDP2OP_CREATEQUERY, runtime menentukan jenis kueri D3DQUERYTYPE_VCACHE di anggota QueryType dari struktur D3DHAL_DP2CREATEQUERY .

Ketika driver menyelesaikan kueri vertex-cache, driver mengatur ukuran total buffer respons di anggota dwErrorOffset dari struktur D3DHAL_DRAWPRIMITIVES2DATA dan mengatur anggota ddrval D3DHAL_DRAWPRIMITIVES2DATA ke D3D_OK agar berhasil diselesaikan. Driver juga menimpa buffer perintah masuk dengan buffer respons keluar. Buffer respons ini berisi struktur D3DHAL_DP2RESPONSEQUERY yang mengidentifikasi respons untuk kueri vertex-cache. D3DHAL_DP2RESPONSEQUERY ini diikuti oleh data vertex-cache dalam struktur D3DDEVINFO_VCACHE.

Persyaratan

Persyaratan Nilai
Header d3d9types.h (termasuk D3d9types.h)

Lihat juga

D3DDP2OP_CREATEQUERY

D3DDP2OP_ISSUEQUERY

D3DHAL_DP2CREATEQUERY

D3DHAL_DP2RESPONSEQUERY

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2

D3dGetDriverState