다음을 통해 공유


바탕 화면 창 관리자

Windows Vista 이전에는 Windows 프로그램이 화면에 직접 그렸습니다. 즉, 프로그램이 비디오 카드에 표시된 메모리 버퍼에 직접 썼습니다. 이 방법은 창이 올바르게 다시 그려지지 않으면 시각적 아티팩트가 발생할 수 있습니다. 예를 들어 사용자가 한 창을 다른 창 위로 드래그할 때 아래 창이 충분히 빠르게 다시 그려지지 않는 경우 다음과 같이 맨 위에 있는 창에 흔적을 남길 수 있습니다.

다시 그린 아티팩트를 보여 주는 스크린샷.

두 창을 동일한 메모리 영역에 그리기 때문에 트레일이 발생합니다. 맨 위에 있는 창을 드래그하면 그 아래 창을 다시 그려야 합니다. 다시 그리는 속도가 너무 느리면 이전 이미지에 표시된 아티팩트가 발생합니다.

Windows Vista는 DWM(바탕 화면 창 관리자)을 도입하여 창을 그리는 방법을 근본적으로 바꾸었습니다. DWM을 사용하도록 설정하면 창이 더 이상 디스플레이 버퍼에 직접 그려지지 않습니다. 대신, 각 창은 오프스크린 표면이라고도 하는 오프스크린 메모리 버퍼에 그려집니다. 그런 다음, DWM이 이러한 표면을 화면에 합성합니다.

dwm이 데스크톱을 합성하는 방법을 보여 주는 다이어그램.

DWM은 이전 그래픽 아키텍처에 비해 몇 가지 이점을 제공합니다.

  • 다시 그리기 메시지 감소. 창이 다른 창에 의해 가려진 경우 가려진 창을 다시 그릴 필요가 없습니다.
  • 아티팩트 감소. 앞서 설명한 대로, 이전에는 창을 드래그하면 시각적 아티팩트가 만들어졌습니다.
  • 시각 효과. DWM은 화면 합성을 담당하므로 창의 반투명하고 흐릿한 영역을 렌더링할 수 있습니다.
  • 높은 DPI에 대한 자동 스케일링. 스케일링은 높은 DPI를 처리하는 이상적인 방법은 아니지만 높은 DPI에 대한 설정에 맞게 설계되지 않은 이전 애플리케이션에서는 실행 가능한 대안입니다. (자세한 내용은 DPI 및 Device-Independent Pixels 섹션에서 살펴보겠습니다.)
  • 대체 보기. DWM은 다양하고 흥미로운 방법으로 오프스크린 표면을 사용할 수 있습니다. 예를 들어 DWM은 Windows Flip 3D, 썸네일 및 애니메이션 전환의 기반이 되는 기술입니다.

그러나 DWM은 항상 사용하도록 설정되는 것은 아닙니다. 그래픽 카드가 DWM 시스템 요구 사항을 지원하지 않을 수 있으며 사용자는 시스템 속성 제어판을 통해 DWM을 사용하지 않도록 설정할 수도 있습니다. 즉, 프로그램이 DWM의 다시 그리기 동작에 의존해서는 안 됩니다. DWM을 사용하지 않도록 설정한 상태에서 프로그램을 테스트하여 올바르게 다시 그리는지 확인합니다.

다음

보존 모드와 직접 실행 모드 비교