이전 WDDM 2.X 버전에 추가된 기능
이 페이지에서는 Windows 10용 이전 버전의 WDDM 2.X에 추가된 디스플레이 및 그래픽 드라이버의 기능을 설명합니다. 최신 WDDM 2.X 버전에 대해 추가된 기능을 보려면 Windows 10 디스플레이 및 그래픽 드라이버의 새로운 기능을 참조 하세요.
WDDM 2.6
슈퍼 젖은 잉크
슈퍼 습식 잉크 는 프런트 버퍼 렌더링을 중심으로 회전하는 기능입니다. IHV 드라이버는 하드웨어에서 지원되지 않는 형식 또는 모드의 "표시 가능한" 텍스처 생성을 지원할 수 있습니다. 앱이 요청한 텍스처를 표시할 수 있는 형식/레이아웃이 있는 "그림자" 텍스처와 함께 할당한 다음 현재 둘 간에 복사하여 이 작업을 수행할 수 있습니다. 이 "그림자"는 우리가 생각하는 정상적인 방식으로 질감일 필요는 없지만 압축 데이터일 수 있습니다. 또한 존재할 필요는 없지만 대신 최적화가 될 수 있습니다.
런타임은 표시 가능한 표면의 이러한 측면을 이해하도록 발전합니다.
특정 VidPnSource/평면에 표시할 그림자가 있어야 하는지 여부입니다.
그림자가 존재하는 것이 더 적합한지 여부입니다.
응용 프로그램 화면에서 그림자 표면으로 콘텐츠를 전송하는 경우 런타임은 Present 내에서 암시적이 아니라 이 작업에 대해 명시적입니다.
모드 설정을 요청하거나 원래 표면과 그림자 표면 간에 동적으로 대칭 이동하도록 요청하는 방법입니다.
스캔 아웃은 VBlank 직후에 시작될 수 있으며, 이미지의 위쪽에서 아래쪽으로 세로로 스캔하고, 다음 VBlank 직전에 완료됩니다. 픽셀 클록의 타이밍과 텍스처의 데이터 레이아웃에 따라 항상 그렇지는 않습니다. 실제로 사용할 수 있는 압축이 있는 경우 특히 그렇습니다.
가능한 경우 프런트 버퍼 렌더링을 사용하도록 설정하기 위해 검색 전에 발생하는 변환을 구분하고 이해하기 위해 새 DDI가 추가되었습니다. D3DWDDM2_6DDI_SCANOUT_FLAGS 및 PFND3DWDDM2_6DDI_PREPARE_SCANOUT_TRANSFORMATION 참조하세요.
가변 속도 음영
가변 속도 음영 또는 거친 픽셀 음영은 렌더링된 이미지에서 다양한 속도로 렌더링 성능/전원을 할당할 수 있도록 하는 메커니즘입니다.
이전 모델에서 MSAA(다중 샘플 앤티앨리어싱)를 사용하여 기하학적 별칭을 줄이기 위해 다음을 수행합니다.
- 대상이 할당될 때 기하학적 별칭을 줄이는 양을 미리 알려야 합니다.
- 대상이 할당되면 기하학적 별칭을 줄이는 양을 변경할 수 없습니다.
WDDM 2.6에서 새 모델은 거친 음영이라는 새로운 개념을 추가하여 MSAA를 반대의 거친 픽셀 방향으로 확장합니다. 여기서 음영은 픽셀보다 거친 주파수에서 수행할 수 있습니다. 픽셀 그룹은 단일 단위로 음영 처리될 수 있으며 결과는 그룹의 모든 샘플에 브로드캐스트됩니다.
거친 음영 API를 사용하면 앱이 음영 처리된 그룹에 속하는 픽셀 수를 지정할 수 있습니다. 렌더링 대상이 할당된 후 거친 픽셀 크기가 달라질 수 있습니다. 따라서 화면의 다른 부분이나 다른 그리기 패스는 코스 음영 속도가 다를 수 있습니다.
다중 계층 구현은 두 개의 사용자 쿼리 가능 대문자로 사용할 수 있습니다. 계층 1 및 2의 경우 단일 샘플링 및 MSAA 리소스 모두에 대해 거친 음영을 사용할 수 있습니다. MSAA 리소스의 경우 평상시처럼 거친 픽셀당 또는 샘플당 음영을 수행할 수 있습니다. 그러나 계층 1과 2에서 MSAA 리소스의 경우 거친 샘플링을 사용하여 픽셀당 및 샘플당 빈도로 음영 처리할 수 없습니다.
계층 1:
음영 속도는 그리기 단위로만 지정할 수 있습니다. 그보다 더 세분화된 것은 없습니다.
음영 속도는 렌더링 대상 내에 있는 위치와 독립적으로 그려지는 항목에 균일하게 적용됩니다.
계층 2:
음영 속도는 계층 1에서와 같이 그리기 단위로 지정할 수 있습니다. 그리기 기준 및 다음의 조합으로 지정할 수도 있습니다.
- 꼭짓점당 의미 체계 및
- 화면 영역 이미지
3개 소스의 음영 속도는 조합기 집합을 사용하여 결합됩니다.
화면 공간 이미지 타일 크기는 16x16 이하입니다. 앱에서 요청한 음영 속도는 정확하게 전달되도록 보장됩니다(임시 및 기타 재구성 필터의 정밀도를 위해).
SV_ShadingRate PS 입력이 지원됩니다. 여기서 기본 속도라고도 하는 도발별 꼭짓점 속도는 하나의 뷰포트가 사용되고 SV_ViewportIndex 기록되지 않은 경우에만 유효합니다.
SupportsPerVertexShadingRateWithMultipleViewports 상한이 true로 표시된 경우 기본 단위 속도라고도 하는 도발별 꼭짓점 속도를 둘 이상의 뷰포트에서 사용할 수 있습니다. 또한 이 경우 SV_ViewportIndex 쓸 때 사용할 수 있습니다.
PFND3D12DDI_RS_SET_SHADING_RATE_0062 및 D3D12DDI_SHADING_RATE_0062 참조하세요.
진단 정보 수집
진단 정보를 수집하면 OS가 렌더링 및 디스플레이 함수로 구성된 그래픽 어댑터용 드라이버에서 개인 데이터를 수집할 수 있습니다. 이 새로운 기능은 WDDM 2.6의 요구 사항입니다.
새 DDI는 드라이버가 로드될 때마다 OS에서 정보를 수집할 수 있도록 허용해야 합니다. 현재 OS는 미니포트에서 구현한 DxgkDdiCollectDebugInfo 함수를 사용하여 TDR(시간 제한 검색 및 복구) 관련 사례에 대한 드라이버 프라이빗 데이터를 쿼리합니다. 새 DDI는 다양한 이유로 데이터를 수집하는 데 사용됩니다. OS는 요청되는 정보의 유형을 제공하는 진단이 필요할 때 이 DDI를 호출합니다. 드라이버는 문제를 조사하고 OS에 제출하는 데 중요한 모든 개인 정보를 수집해야 합니다. DxgkDdiCollectDebugInfo는 결국 사용되지 않으며 DxgkDdiCollectDiagnosticInfo로 대체됩니다.
DXGKDDI_COLLECTDIAGNOSTICINFO 참조하세요.
백그라운드 처리
백그라운드 처리를 사용하면 사용자 모드 드라이버가 원하는 스레딩 동작을 표현하고 런타임에서 제어/모니터링할 수 있습니다. 사용자 모드 드라이버는 백그라운드 스레드를 스핀업하고 가능한 한 낮은 우선 순위로 스레드를 할당하고 NT 스케줄러를 사용하여 이러한 스레드가 일반적으로 성공으로 중요한 경로 스레드를 방해하지 않도록 합니다.
API를 사용하면 앱이 워크로드에 적합한 백그라운드 처리 양과 해당 작업을 수행할 시기를 조정할 수 있습니다.
PFND3D12DDI_QUEUEPROCESSINGWORK_CB_0062 참조하세요.
드라이버 핫 업데이트
드라이버 핫 업데이트는 OS 구성 요소를 업데이트해야 할 때 서버 가동 중지 시간을 최대한 줄입니다.
드라이버 핫 패치는 커널 모드 드라이버에 보안 패치를 적용하는 데 사용됩니다. 이 경우 드라이버에 어댑터 메모리를 저장하라는 메시지가 표시되고, 어댑터가 중지되고, 드라이버가 언로드되고, 새 드라이버가 로드되고, 어댑터가 다시 시작됩니다.
DXGKDDI_SAVEMEMORYFORHOTUPDATE 및 DXGKDDI_RESTOREMEMORYFORHOTUPDATE 참조하세요.
WDDM 2.5
추적된 워크로드
추적된 워크로드는 더 빠른 프로세서 실행과 낮은 전력 소비 간의 절편을 보다 세세하게 제어할 수 있는 실험적 기능이며, 추후 공지가 있을 때까지 사용할 수 없습니다. 구현이 Windows 10 버전 2003에서 제거되었습니다. 보안 수정의 일부로 이전 OS 버전에서 더 이상 사용되지 않습니다.
콘텐츠 변경
항목 | 날짜 | 설명 |
---|---|---|
HMD 및 특수 디스플레이용 EDID 확장(VSDB) | 2018년 12월 3일 | 디스플레이 제조업체 사양 |
DirectX 그래픽 커널 하위 시스템(Dxgkrnl.sys) | 12/04/2018 | Windows 운영 체제가 Microsoft DirectX 그래픽 커널 하위 시스템(Dxgkrnl.sys)을 통해 구현하는 커널 모드 인터페이스입니다. |
WDDM 2.1 기능 | 01/10/2019 | WDDM 2.1의 새로운 기능과 업데이트된 기능에 대해 설명합니다. |
광선 추적
새로운 Direct3D DDI는 하드웨어 가속 광선 추적을 지원하기 위해 Direct3D API와 병렬로 만들어졌습니다. 예제 DDI는 다음과 같습니다.
- PFND3D12DDI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_0054
- PFND3D12DDI_COPY_RAYTRACING_ACCELERATION_STRUCTURE_0054
- PFND3D12DDI_EMIT_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_0054
- PFND3D12DDI_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_0054
광선 추적에 대한 자세한 내용은 다음을 참조하세요.
동기화 표시
OS는 디스플레이를 사용하도록 설정하기 전에 드라이버가 OS에 디스플레이를 노출할 때 디스플레이 동기화 기능을 확인합니다. TypeIntegratedDisplay 자식 디바이스의 경우 어댑터 초기화 중에 Type DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR2 DxgkDdiQueryAdapterInfo 호출을 통해 보고됩니다. WDDM 2.5부터 지원되는 TypeVideoOutput 자식 디바이스의 경우 기능이 대상 또는 연결된 모니터에 따라 변경될 수 있도록 DxgkDdiUpdateMonitorLinkInfo를 통해 핫 플러그 처리의 일부로 보고됩니다.
OS는 경로 DXGK_SET_TIMING_PATH_INFO 구조의 입력 필드에 있는 DxgkDdiSetTimingsFromVidPn 호출의 표시 동기화를 지정합니다.
WDDM 2.1
WDDM 2.1은 새로운 시나리오를 가능하게 하고 Windows 그래픽 하위 시스템에 대한 성능, 안정성, 업그레이드 복원력, 진단 개선 및 향후 시스템 발전 영역에서 상당한 개선을 제공합니다. WDDM 2.0 드라이버 모델은 D3D12의 필수 구성 요소입니다. WDDM 2.0 및 DirectX12는 Windows 10 이상에서만 사용할 수 있습니다.
다음은 WDDM 2.1에 대한 기능 추가 및 업데이트 목록입니다.
메모리 관리에 소요되는 오버헤드 시간을 줄이고 부족한 그래픽 메모리를 보다 효율적으로 사용하여 그래픽 성능을 향상시켰습니다. 그래픽 성능 향상은 다음과 같습니다.
- 리소스 제공 및 회수 - 백그라운드 모드에서 실행되는 애플리케이션의 메모리 공간을 줄이기 위한 개선 사항을 제공하고 회수합니다.
- 2MB 페이지 테이블 항목 인코딩 지원 - WDDM 2.1에서는 VRAM에서 PTE(큰 페이지 테이블 항목) 인코딩을 사용할 수 있습니다. 이 변경은 이를 지원하는 시스템에서 성능을 향상시킵니다.
- 64KB 메모리 페이지 지원 - 64KB 세분성을 사용하는 가상 메모리 할당은 WDDM 2.1에서도 지원됩니다. 이러한 변경은 특히 가상 메모리 페이지에 액세스하기 위한 오버헤드를 줄여 APU 및 SoC에 이점을 제공합니다.
현재 일괄 처리로 하드웨어 기반 보호 콘텐츠 개선(PlayReady 3.0)
드라이버 업그레이드 복원력을 향상시키기 위해 그래픽 드라이버용 드라이버 저장소 설치
DXIL, 새 셰이더 규격 언어
D3D12 성능 및 최적화 개선 사항
개발자를 위한 향상된 진단 옵션
자세한 내용은 WDDM 2.1 기능을 참조 하세요.
WDDM 2.0
WDDM 2.0에는 메모리 관리 업데이트가 포함됩니다.
GPU 가상 메모리
- 모든 실제 메모리는 GPU(그래픽 처리 장치) 메모리 관리자가 관리할 수 있는 가상 세그먼트로 추상화됩니다.
- 각 프로세스는 자체 GPU 가상 주소 공간을 가져옵니다.
- 스위즐링 범위에 대한 지원이 제거되었습니다.
자세한 내용은 WDDM 2.0의 GPU 가상 메모리를 참조하세요.
드라이버 상주
- 비디오 메모리 관리자는 드라이버에 명령 버퍼를 제출하기 전에 할당이 메모리에 상주하도록 합니다. 이 기능을 용이하게 하기 위해 사용자 모드 DDI(사용자 모드 드라이버 드라이버 인터페이스)가 추가되었습니다(MakeResident, TrimResidency, Evict).
- 할당 및 패치 위치 목록은 WDDM 2.0 모델에서 필요하지 않으므로 단계적으로 중단됩니다.
- 이제 사용자 모드 드라이버는 할당 추적을 처리해야 합니다. 이를 사용하도록 설정하기 위해 여러 DDI가 추가되었습니다.
- 드라이버에는 메모리 예산이 지정되며 메모리 압력 하에서 적응할 것으로 예상됩니다. 이렇게 하면 유니버설 Windows 드라이버가 애플리케이션 플랫폼에서 작동할 수 있습니다.
- 프로세스 동기화 및 컨텍스트 모니터링을 위해 DDI가 추가되었습니다.
자세한 내용은 WDDM 2.0의 드라이버 상주를 참조 하세요.