동적 꼭짓점 및 인덱스 버퍼
동적 꼭짓점 또는 인덱스 버퍼는 애플리케이션이 자주 잠그고 쓰는 리소스입니다. 드라이버의 LockD3DBuffer 함수 호출에서 동적 버퍼가 잠겨 있는 경우 호출자에게 버퍼의 기존 콘텐츠가 필요하지 않음을 나타내도록 DD_LOCKDATA 구조체의 dwFlags 멤버의 DDLOCK_OKTOSWAP 비트(D3DLOCK_DISCARD 비트라고도 함)를 설정할 수 있습니다. 따라서 드라이버는 버퍼 데이터에 대한 포인터를 반환하기 전에 내용을 삭제할 수 있습니다. 호출자에게 기존 콘텐츠가 필요하지 않으므로 드라이버는 버퍼에 대한 DD_SURFACE_GLOBAL 구조체의 fpVidMem 멤버를 새 값으로 설정하여 버퍼의 이름을 바꿀 수 있습니다. 버퍼 이름을 바꾸면(즉, 여러 버퍼링 설정) 드라이버가 하드웨어 중단을 방지합니다.
DDLOCK_OKTOSWAP 비트는 동적 버퍼를 잠그고 정적 버퍼를 잠그지 않도록 설정할 수 있습니다.
동적 버퍼가 로컬 비디오 메모리에 저장되고 애플리케이션이 비차별적인 방식으로 해당 버퍼에 데이터를 쓰는 경우 버스 성능에 심각한 영향을 미칠 수 있으므로 드라이버는 AGP 메모리에 동적 버퍼를 저장해야 합니다.