다음을 통해 공유


Windowed-Mode 동작

창 모드 디바이스에 대한 Microsoft Direct3D 런타임은 사용자 모드 디스플레이 드라이버의 함수를 호출하여 회전된 기본 표면을 잠그거나, 회전된 기본 표면으로 렌더링하거나, 회전된 주 표면과 비트 블록 전송(비트블렛)을 수행하지 않습니다. 즉, 창 모드 디바이스의 Direct3D 런타임은 이러한 모든 상황을 처리합니다.

창 모드 디바이스의 Direct3D 런타임은 사용자 모드 디스플레이 드라이버의 OpenResource 함수를 호출하여 공유 기본 표면을 열고 사용자 모드 디스플레이 드라이버에 기본 화면의 방향을 알리지 않을 수 있습니다. 그러나 DWM(데스크톱 창 관리자)이 실행되고 있지 않으면 Direct3D 런타임에서 OpenResource를 호출하고 사용자 모드 표시 드라이버에 기본 방향에 대한 정보가 표시됩니다. 사용자 모드 디스플레이 드라이버는 드라이버가 자체 목적을 위해 기본 표면(비트 블렛 또는 잠금을 통해)에 액세스해야 하는 경우에만 기본 표면 방향을 알고 있어야 합니다. 창 모드 디바이스의 Direct3D 런타임은 회전된 기본 화면에 액세스하도록 사용자 모드 표시 드라이버를 요청하지 않습니다. 따라서 사용자 모드 표시 드라이버가 자체 내부 용도로 기본 화면에 액세스해야 하는 경우 OpenResource 가 항상 호출되는 것은 아니므로 드라이버에는 OpenResource 함수 호출 외에 메커니즘이 필요합니다.

DWM 또는 디스플레이 미니포트 드라이버의 DxgkDdiPresent 함수는 창 모드 데이터를 회전합니다.