D3DDDIDEVINFO_VCACHE 结构 (d3dumddi.h)
D3DDDIDEVINFO_VCACHE结构描述设备的顶点缓存信息。
语法
typedef struct _D3DDDIDEVINFO_VCACHE {
[out] UINT Pattern;
[out] UINT OptMethod;
[out] UINT CacheSize;
[out] UINT MagicNumber;
} D3DDDIDEVINFO_VCACHE;
成员
[out] Pattern
位模式。 驱动程序必须将位模式指定为 CACH 四字符代码, (FOURCC) 值。 驱动程序可以使用以下 MAKEFOURCC 宏将 FOURCC 值指定为 CACH:
MAKEFOURCC('C', 'A', 'C', 'H');
[out] OptMethod
网格优化的方法。 驱动程序可以使用以下值之一来指定它使用的网格优化。
值 | 含义 |
---|---|
D3DXMESHOPT_STRIPREORDER (0) | 最长条带优化 |
D3DXMESHOPT_VCACHE (1) | 基于顶点缓存的优化 |
[out] CacheSize
驱动程序优化顶点缓存的有效大小(以条目为单位)。 实际缓存大小不需要是 CacheSize 中指定的大小,因为在大多数情况下实际缓存大小较大。 仅当驱动程序还在 OptMethod 成员中指定D3DXMESHOPT_VCACHE时,才在 CacheSize 中指定优化的大小。
[out] MagicNumber
确定何时重新启动带区列表时,应用作试错过程的一部分的数字。 此数字可以是 1 到 CacheSize 成员中指定的值。 通常,最佳值接近 CacheSize/2。 仅当驱动程序还在 OptMethod 成员中指定D3DXMESHOPT_VCACHE时,才在 MagicNumber 中指定数字。
注解
Direct3D 运行时版本 9.0 及更高版本。 Microsoft Direct3D 运行时调用驱动程序的 CreateQuery 函数,为顶点缓存查询创建驱动程序端资源。 在此 CreateQuery 调用中,运行时在 D3DDDIARG_CREATEQUERY 结构的 QueryType 成员中指定 D3DDDIQUERYTYPE_VCACHE查询 类型。 驱动程序应分配D3DDDIDEVINFO_VCACHE结构。 然后,运行时调用驱动程序的 IssueQuery 函数来处理顶点缓存查询。 驱动程序应 (GPU) 指令插入图形处理单元,以便将顶点缓存数据写入分配。 若要从驱动程序检索顶点缓存信息,运行时会调用驱动程序的 GetQueryData 函数。 在此 GetQueryData 调用中,驱动程序应锁定分配并返回 pData 参数指向 的 D3DDDIARG_GETQUERYDATA 结构的 pData 成员处的顶点缓存数据。
仅 Direct3D 运行时版本 8.1。 Direct3D 运行时调用驱动程序的 GetInfo 函数,以从驱动程序获取顶点缓存信息。 在此 GetInfo 调用中,运行时在 DevInfoID 参数中传递 D3DDDIDEVINFOID_VCACHE 标志。 驱动程序在D3DDDIDEVINFO_VCACHE结构中指定顶点缓存信息,并在 pDevInfoStruct 参数处返回此信息。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 操作系统中可用。 |
标头 | d3dumddi.h (包括 D3dumddi.h) |