структура 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 , так как в большинстве случаев фактический размер кэша оказывается больше. Драйвер указывает оптимизированный размер в CacheSize , только если он также указывает D3DXMESHOPT_VCACHE в элементе OptMethod .
MagicNumber
Указывает номер, который следует использовать в рамках процедуры проб и ошибок при определении времени перезапуска списка полос. Это число можно задать в диапазоне от 1 до значения в элементе CacheSize . Как правило, лучшими значениями являются значения, близкие к CacheSize/2.
Комментарии
Только версии DirectX 8.1. Среда выполнения Direct3D вызывает функцию D3dGetDriverState драйвера для получения сведений о кэше вершин из драйвера. В этом вызове D3dGetDriverState среда выполнения задает флаг D3DDEVINFOID_VCACHE в элементе dwFlags структуры DD_GETDRIVERSTATEDATA, которую передает среда выполнения. Драйвер задает сведения о кэше вершин в структуре D3DDEVINFO_VCACHE и возвращает их в элементе lpdwStates DD_GETDRIVERSTATEDATA.
Только DirectX 9.0 и более поздних версий. Среда выполнения Direct3D задает D3DDP2OP_CREATEQUERY и команды D3DDP2OP_ISSUEQUERY в вызовах обратного вызова D3dDrawPrimitives2 драйвера, чтобы создать ресурсы на стороне драйвера для запроса, а затем асинхронно запрашивать у драйвера сведения о кэше вершин. В вызове с помощью команды D3DDP2OP_CREATEQUERY среда выполнения указывает тип запроса D3DQUERYTYPE_VCACHE в элементе QueryType структуры D3DHAL_DP2CREATEQUERY .
Когда драйвер завершает запрос к кэшу вершин, драйвер устанавливает общий размер буфера ответов в элементе dwErrorOffset структуры D3DHAL_DRAWPRIMITIVES2DATA и задает элемент ddrval D3DHAL_DRAWPRIMITIVES2DATA на D3D_OK для успешного завершения. Драйвер также перезаписывает буфер входящих команд буфером исходящего ответа. Этот буфер ответа содержит структуру D3DHAL_DP2RESPONSEQUERY , которая определяет ответ для запроса кэша вершин. За этим D3DHAL_DP2RESPONSEQUERY следует данные кэша вершин в структуре D3DDEVINFO_VCACHE.
Требования
Требование | Значение |
---|---|
Заголовок | d3d9types.h (включая D3d9types.h) |
См. также раздел
D3DDP2OP_CREATEQUERY
D3DDP2OP_ISSUEQUERY
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по