다음을 통해 공유


WDDM 드라이버에 대한 디버깅 팁

이 문서에서는 WDDM 드라이버를 디버그하는 데 사용할 수 있는 몇 가지 디버깅 팁과 도구를 설명합니다.

DirectX 그래픽 커널 하위 시스템(Dxgkrnl.sys) 레코드는 드라이버 관련 오류, 어설션, 경고 및 이벤트를 내부 사용 로그(Watchdog.sys)에 표시합니다.

간접 디스플레이 드라이버를 디버깅하는 방법에 대한 팁은 간접 디스플레이 디버깅을 참조 하세요.

드라이버 디버깅에 대한 일반적인 내용은 Windows 디버깅 시작을 참조 하세요.

디버깅을 위한 GPU 스케줄러의 동작 변경

드라이버를 디버그하는 데 도움이 되도록 레지스트리를 구성하여 GPU 스케줄러의 동작을 수정할 수 있습니다. 다음 설정을 사용하면 GPU 스케줄러에서 선점 요청을 사용하거나 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 시간 제한 검색 및 복구를 참조 하세요.

Registry Key Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Scheduler  
Key Value: EnablePreemption  
Value Type: REG_DWORD  
Value Data: 0 to disable preemption, 1 to enable preemption (default).  

Direct3d를 사용하여 상태 블록 에뮬레이트

Direct3D 런타임이 상태 블록을 에뮬레이트할 수 있도록 하려면 다음 방법으로 레지스트리를 구성합니다.

Registry Key Path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Direct3D  
Key Value: EmulateStateBlocks  
Value Type: REG_DWORD  
Value Data: 1 for D3D runtime emulation of state blocks, 0 for driver implementation (default).  

에뮬레이션을 사용하도록 설정하면 Direct3D 런타임은 사용자 모드 표시 드라이버의 StateSet 함수를 호출하여 상태 블록 정보를 설정하지 않습니다.

프레임 포인터 누락 최적화 사용 안 함

WDDM 1.2 이상 드라이버는 성능 문제를 진단하는 기능을 향상시키기 위해 FPO(프레임 포인터 누락) 최적화를 사용하지 않도록 설정해야 합니다. 자세한 내용은 FPO(프레임 포인터 누락) 최적화 사용 안 함을 참조 하세요.

사용자 모드 드라이버 로깅

ETW(Windows용 이벤트 추적)를 향상시키기 위해 Windows 8에서 사용자 모드 드라이버 로깅 인터페이스가 도입되었습니다. 이 DDI는 API 관점에서 비디오 메모리 사용에 대한 인사이트를 제공하여 메모리 관련 성능 문제를 분석하는 데 도움이 됩니다.

GPU의 XPS 래스터화

WDDM 1.2 이상 드라이버는 고품질 Windows 인쇄를 보장하기 위해 XPS 래스터화 디스플레이 규칙 테스트를 통과할 수 있어야 합니다. 자세한 내용은 GPU의 XPS 래스터화를 참조하세요.

GPUView

GPUView 는 Windows 시스템에서 GPU 및 CPU 작업을 분석하는 데 사용할 수 있는 도구입니다. 성능 병목 상태 및 기타 문제를 식별하는 데 도움이 될 수 있습니다.

TDR(시간 제한 검색 및 복구)

TDR(시간 제한 검색 및 복구)은 GPU의 응답을 중지하는 문제를 감지하고 복구하도록 설계된 Windows의 기능입니다. 자세한 내용은 TDR(시간 제한 검색 및 복구)을 참조하세요.