WDDM 2.0의 드라이버 상주
이 섹션에서는 WDDM(Windows Display Driver Model) 2.0에 대한 드라이버 상주 변경 내용에 대해 자세히 설명합니다. 설명된 기능은 Windows 10 시작해서 사용할 수 있습니다.
이 섹션의 내용
항목 | Description |
---|---|
새 상주 모델이 도입되면 명령별 버퍼 목록 대신 디바이스의 명시적 목록으로 상주가 이동됩니다. 비디오 메모리 관리자는 해당 디바이스에 속한 컨텍스트가 실행되도록 예약되기 전에 특정 디바이스 상주 요구 사항 목록의 모든 할당이 상주하는지 확인합니다. |
|
할당 목록이 사라지면 비디오 메모리 관리자가 특정 명령 버퍼에서 참조되는 할당을 더 이상 파악할 수 없습니다. 이로 인해 비디오 메모리 관리자는 더 이상 할당 사용량을 추적하고 관련 동기화를 처리할 수 있는 위치에 있지 않습니다. 이제 이 책임은 사용자 모드 드라이버에 해당합니다. 특히 사용자 모드 드라이버는 할당 및 이름 바꾸기에 대한 직접 CPU 액세스와 관련하여 동기화를 처리해야 합니다. |
|
WDDM v2의 경우 제품 및 회수 에 대한 요구 사항이 완화되고 있습니다. 사용자 모드 드라이버는 더 이상 제품을 사용하고 내부 할당에서 회수할 필요가 없습니다. 유휴/일시 중단된 애플리케이션은 Microsoft DirectX 11.1에 도입된 TrimAPI를 사용하여 드라이버 내부 리소스를 제거합니다. |
|
GPU(그래픽 처리 장치) 상주하지 않는 할당에 대한 액세스는 불법이며 오류를 생성한 애플리케이션에 대해 디바이스가 제거됩니다. 장애 엔진이 GPU 가상 주소 지정을 지원하는지 여부에 따라 이러한 잘못된 액세스를 처리하는 두 가지 고유한 모델이 있습니다.
|
|
WDDM v2에서는 프로세스에 상주할 수 있는 메모리 양에 대한 예산이 할당됩니다. 이 예산은 시간이 지남에 따라 변경될 수 있지만 일반적으로 시스템이 메모리 압력을 받고 있을 때만 부과됩니다. Microsoft Direct3D 12 이전의 예산은 사용자 모드 드라이버에서 트리밍 알림 및 STATUS_NO_MEMORY 있는 MakeResident 오류 형식으로 처리됩니다. TrimToBudget 알림, 제거 및 실패한 MakeResident 호출은 모두 새 예산에 맞게 트리밍해야 하는 양을 나타내는 정수 NumBytesToTrim 값 형식으로 최신 예산을 반환합니다. |