Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows 10에서 DirectX 9 레거시 오버레이 평면이 작동하지 않는 이유

이번 글에서는 Microsoft DirectX 9의 레거시 오버레이 평면(overlay plane)이 WDDM 2.0 그래픽 드라이버가 설치된 Windows 10 환경에서 Miracast 디스플레이와 함께 작동하지 않는 이유를 살펴보겠습니다.

Windows 10에서 DirectX 9 레거시 오버레이 평면이 작동하지 않는 이유

본론으로 들어가기에 앞서, 처음 접하는 독자들을 위해 Miracast, WDDM, Microsoft DirectX에 대한 간단한 개념부터 짚고 넘어가겠습니다.

Microsoft DirectX란?

Microsoft DirectX는 Microsoft 플랫폼에서 멀티미디어 관련 작업, 특히 게임 프로그래밍과 비디오 처리를 담당하는 응용 프로그래밍 인터페이스(API) 모음입니다. 원래 이러한 API들은 Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound처럼 모두 'Direct'로 시작하는 이름을 사용했습니다.

'DirectX'라는 이름은 이 API들을 한꺼번에 지칭하기 위한 약칭으로 만들어진 것으로(X는 각 API 이름을 대표), 이후 곧 전체 컬렉션의 공식 명칭으로 자리 잡았습니다.

Miracast란?

Miracast는 안드로이드 기기나 최신 인텔 기반 PC의 화면을 TV로 무선 전송할 수 있는 화면 미러링 프로토콜입니다. 작은 화면에 표시되는 모든 내용이 큰 화면에 그대로 나타나며, 동기화가 원활하게 이루어지면 지연 시간이 거의 없어 영상 시청이나 생산성 소프트웨어 사용에 적합합니다. 다만 대부분의 게임을 실행하기에는 안정성이 다소 부족한 편입니다.

WDDM(Windows Display Driver Model)이란?

WDDM(Windows Display Driver Model)은 Windows Vista부터 적용된 Microsoft Windows용 그래픽 드라이버 아키텍처입니다. 기존 Windows 2000 및 Windows XP의 디스플레이 드라이버 모델인 XDDM/XPDM을 대체하기 위해 도입되었으며, 향상된 그래픽 성능, 새로운 그래픽 기능, 그리고 안정성 확보를 목표로 합니다.

Windows Vista와 Windows 7의 디스플레이 드라이버는 WDDM 또는 XDDM 중 하나를 선택해 구현할 수 있었지만, Windows 8에서 XDDM이 제거되면서 WDDM이 유일한 표준이 되었습니다. WDDM은 Windows DWM(데스크톱 창 관리자) 렌더링과 Direct3D 10용 장치 드라이버 인터페이스에 반드시 필요한 요소입니다.

DirectX 9 레거시 오버레이 평면이 Miracast 디스플레이에서 작동하지 않는 문제

WDDM 2.0 그래픽 드라이버가 설치된 Windows 10에서는 Microsoft DirectX 9의 레거시 오버레이 평면이 Miracast 디스플레이와 함께 작동하지 않습니다. Miracast 디스플레이에서 실행 중인 상태로 레거시 오버레이를 사용하려고 시도하는 응용 프로그램은 오류를 반환받게 됩니다.

이 오류가 사용자에게 어떤 형태로 나타나는지는 해당 응용 프로그램의 오류 처리 방식에 따라 달라집니다. 일반적으로 다음과 같은 증상이 발생할 수 있습니다.

  • 응용 프로그램이 멈추고 응답하지 않음
  • 응용 프로그램이 갑자기 종료됨(크래시)
  • 레거시 오버레이를 사용하려는 응용 프로그램에서 오류 메시지 표시
  • 비디오 재생 화면이 검게 나타나거나 아무것도 표시되지 않음

이 문제가 발생하는 근본적인 원인은 Microsoft의 공식 설명에 따르면, Windows 10의 WDDM 2.0 그래픽 드라이버에서는 레거시 오버레이가 더 이상 지원되지 않기 때문입니다. 즉, 시스템의 고장이 아니라 WDDM 2.0의 설계상 제한에 따른 현상입니다.

따라서 Miracast 무선 디스플레이 환경에서 DirectX 9 기반의 구형 프로그램이나 게임을 실행할 때 오류가 발생한다면, 해당 프로그램을 최신 DirectX 버전을 지원하는 버전으로 업데이트하거나, Miracast 대신 HDMI 케이블 연결과 같은 물리적 디스플레이 출력 방식을 사용하는 것이 가장 현실적인 해결책입니다.

이 글이 도움이 되기를 바랍니다!