DirectX에서 Usage는 리소스(버퍼, 텍스처 등)가 어떻게 사용될 것인지를 나타내는 플래그(enum)이다. GPU와 CPU가 해당 리소스를 읽고 쓰는 방식, 업데이트 빈도, 성능 최적화 방향 등에 큰 영향을 준다.
DirectX 11 기준
| 사용 용도 | 설명 |
|---|---|
D3D11_USAGE_DEFAULT | GPU가 주로 접근. CPU는 거의 접근하지 않음. |
D3D11_USAGE_IMMUTABLE | 리소스를 생성한 이후 절대 변경하지 않음. |
D3D11_USAGE_DYNAMIC | CPU가 자주 갱신하고 GPU는 읽기만 함. |
D3D11_USAGE_STAGING | GPU ↔ CPU 양방향 데이터 복사용. |
D3D11_USAGE_DEFAULT : 일반적인 렌더링 리소스에 사용한다.
D3D11_USAGE_IMMUTABLE : 초기 데이터만 사용하므로, 변하지 않는 리소스에 적합하다.
D3D11_USAGE_DYNAMIC : 매 프레임 업데이트되는 데이터에 사용한다.
D3D11_USAGE_STAGING : 데이터 복사 용도로 사용한다.