다음을 통해 공유


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 4자 코드(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 명령을 사용하는 호출에서 런타임은 D3DHAL_DP2CREATEQUERY 구조체의 QueryType 멤버에 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