Direct3D 12의 메모리 관리
D3D12로 이동하려면 메모리 상주를 적절하게 동기화 및 관리해야 합니다. 메모리 상주를 관리한다는 것은 훨씬 더 많은 동기화를 수행해야 함을 의미합니다. 이 섹션에서는 메모리 관리 전략과 힙 및 버퍼 내의 하위 할당을 다룹니다.
섹션 내용
항목 | Description |
---|---|
메모리 관리 전략 |
Direct3D 12용 메모리 관리자는 UMA 또는 개별(비UMA) 어댑터에 대한 다양한 지원 계층이 포함되고 GPU 어댑터 간의 상당한 아키텍처 차이로 인해 매우 복잡해질 수 있습니다. 이 섹션에 설명된 Direct3D 12 메모리 관리에 대한 권장 전략은 “분류, 예산 및 스트림”입니다. |
버퍼 내 하위 할당 |
버퍼에는 애플리케이션이 CPU에서 GPU로 많은 임시 데이터를 전송하기 위해 D3D12에 필요한 모든 기능이 있습니다. 이 섹션에서는 리소스 및 버퍼의 사용 및 관리에 대한 네 가지 일반적인 시나리오를 다룹니다. |
힙 내 하위 할당 |
리소스 힙은 CPU에서 GPU로(업로드) 또는 GPU에서 CPU로(다시 읽기) 데이터를 전송합니다. |
상주 |
GPU가 개체에 액세스할 때 개체가 ‘상주’하는 것으로 간주합니다. |