共用方式為


D3DDEVINFO_VCACHE結構 (d3d9types.h)

僅限 DirectX 8.1 和更新版本。

D3DDEVINFO_VCACHE 結構描述裝置的頂點快取資訊。

語法

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

成員

Pattern

指定位模式。 驅動程式必須將位模式指定為 CACH 四個字元代碼 (FOURCC) 值。 驅動程式可以使用MAKEFOURCC 巨集,如下所示,將FOURCC值指定為CACH:

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

OptMethod

指定網格優化的方法。 驅動程式可以使用下列其中一個值來指定其使用的網格優化:

價值 意義
D3DXMESHOPT_STRIPREORDER (0) 最長的等量優化
D3DXMESHOPT_VCACHE (1) 頂點快取型優化

CacheSize

指定驅動程式優化頂點快取之專案的有效大小。 實際快取大小不需要是 CacheSize 中指定的大小,因為在大多數情況下,實際的快取大小會變大。 如果驅動程式在 OptMethod 成員 中也指定D3DXMESHOPT_VCACHE,則驅動程式只會在 cacheSize 中指定優化 的大小。

MagicNumber

指定判斷何時重新啟動等量清單時,應該當做試用版和錯誤程式的一部分使用的數位。 這個數位可以從 1 設定為 CacheSize 成員中的值。 一般而言,最佳值接近 CacheSize/2。

言論

僅限 DirectX 8.1 版本。 Direct3D 運行時間會呼叫驅動程式的 D3dGetDriverState 函式,以從驅動程式取得頂點快取資訊。 在此 D3dGetDriverState 呼叫中,運行時間會指定運行時間所傳遞之 DD_GETDRIVERSTATEDATA dwFlags 成員D3DDEVINFOID_VCACHE旗標。 驅動程式會在D3DDEVINFO_VCACHE結構中指定頂點快取資訊,並在 DD_GETDRIVERSTATEDATA 成員的 lpdwStates 傳回它。

僅限 DirectX 9.0 和更新版本。 Direct3D 運行時間會在呼叫驅動程式的 D3dDrawPrimitives2 回呼中指定D3DDP2OP_CREATEQUERY和D3DDP2OP_ISSUEQUERY命令,以建立查詢的驅動程式端資源,然後以異步方式查詢驅動程式以取得頂點快取資訊。 在使用 D3DDP2OP_CREATEQUERY 命令的呼叫中,運行時間會在 QueryType 中指定 D3DHAL_DP2CREATEQUERY 結構 成員中的D3DQUERYTYPE_VCACHE查詢類型。

當驅動程式完成頂點快取查詢時,驅動程式會在 D3DHAL_DRAWPRIMITIVES2DATA 結構的 dwErrorOffset 成員中設定回應緩衝區的總大小,並將D3DHAL_DRAWPRIMITIVES2DATA的 ddrval 成員設定為D3D_OK,以順利完成。 驅動程式也會使用傳出回應緩衝區覆寫傳入命令緩衝區。 此回應緩衝區包含 D3DHAL_DP2RESPONSEQUERY 結構,可識別頂點快取查詢的回應。 此D3DHAL_DP2RESPONSEQUERY後面接著 D3DDEVINFO_VCACHE 結構中的頂點快取數據。

要求

要求 價值
標頭 d3d9types.h (包括 D3d9types.h)

另請參閱

D3DDP2OP_CREATEQUERY

D3DDP2OP_ISSUEQUERY

D3DHAL_DP2CREATEQUERY

D3DHAL_DP2RESPONSEQUERY

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2

D3dGetDriverState