윈도우 비스타에서 가장 호평받는 기능 중에 하나가 바로 Aero(or Aero Glass)라는 그래픽 테마로, 다양한 새로운 기능을 제공한다. Aero의 동작 원리에 대해 한 번 살펴 보자.

DWM(Desktop Windows Manager)는 "The Desktop Windows Manager Session Service"라는 이름의 서비스로 동작한다. dwm.exe 파일을 통해 구현하고 있으며 보통 UxSMS(Ux=User eXperience의 약자)라는 내부적인 이름으로 불리워진다. 이 서비스는 Aero를 사용할 때 운영 체제 전반에 걸쳐 화면에 나타나는 모든 객체들을 복합적으로 처리하여 보여 준다.

비스타 이전의 OS(또는, Aero를 사용하지 않는 비스타)에서는 각 프로그램들은 스크린 버퍼에 직접 쓰기를 시도하여 화면으로 나타나게 한다. 윈도우 창이 다른 윈도우 창으로 넘어갈 때 시스템에서는 프로그램에 WM_PAINT 메시지를 전송하여 화면을 다시 갱신한다. 만약 프로그램이 부하가 걸릴 때에는 WM_PAINT 메시지를 전송하지 못하여 화면에 잔상이 남아 있는 것을 본 경험이 있을 것이다. 또한, 화면을 빠르게 전환하는 경우에도 발생한다.

DWM은 이러한 문제점을 해결할 수 있는 실마리를 제공한다. 시스템은 각 프로그램이 사용할 오프스크린 그래픽 디스플레이 버퍼를 조합하기 위한 오프스크린 버퍼를 사용한다. 그리고 DWM은 이 오프스크린 버퍼를 온스크린 버퍼에 보내어 화면을 나타나게 한다. 즉, DWM은 각 프로그램의 그래픽(스크린 버퍼)를 유지하고 있으면서, 변화되는 그래픽만을 다시 갱신하고 변화하지 않는 부분은 그래도 두게 된다.

Posted by NTFAQ
TAG ,

트랙백 주소 :: http://ntfaq.co.kr/trackback/3761 관련글 쓰기

댓글을 달아 주세요