강좌 / 팁

윈 도 우 GDI와 DWM 그리고 Windows 8

2013.05.27 20:01

바나나 조회:4525 추천:4

GDI와 DWM 그리고 Windows 8


그래픽 디바이스 인터페이스 GDI, 데스크탑 윈도우 매니저 DWM, 그리고 윈도우 8에 대해서 알아 보겠습니다


예전, 윈도우 XP가 대중적으로 쓰이던 시절에 있었습니다. CPU가 풀로드 상태이거나 혹은 응용프로그램이 잘못되서


cpu 사용량이 100% 일때


창을 드래그해서 옮기면 창 뒤로 잔상이 남거나 창이 까매졌다가 위에서부터 그려지면서 내려오는 경우가 있었습니다.


그 이전 윈도우들부터 XP까지 2d그래픽을 그려냈던 api가 gdi라는 겁니다.


XP 시절에는 그래픽 카드는 2d그래픽은 관여를 하지 않았고서 2d그래픽을 cpu가 처리 했습니다.


그래서 xp 시절에는 cpu가 사용률이 높은 편입니다. 그로 인해서 화면에 잔상이 남거나 창이 까매졌다가 다시 그려지는등의 증상이


보이는 경우가 생깁니다.


그리고 XP보다 자원관리효율과 실제하드웨어성능이 낮은 윈도9x 계열을 사용했던 분들은 마우스포인터 잔상까지 남는 현상도


간혹 보셨을 겁니다.


그래서 마소에서 편중적인 하드웨어 사용을 분산하려는 하는 움직임이 보입니다.


그래서 그래픽 카드가 2d까지 관여를 했으면 좋겠는다 생각을 합니다.


윈도우 비스타부터 이런 문제를 해결하고자 DWM이라는 기능이 생기게 됩니다.


그리고 GDI는 다이렉트x10의 direct2d의 일부로서 통합되고 사라지게 됩니다.


아직 그 흔적이 남아있다고는 하는데 아마 호환성을 위한거고 직접적으로 사용되진 않습니다.


그런데 이 비스타에 적용된 DWM이 설계결함이 있습니다.


비스타 초창기시절에 동영상플레이어로 동영상을 열거나, 창모드로 게임을 열거나 하면 에어로가 꺼져버리는 현상이 많이 생깁니다.


이 DWM이 적용된 윈도우 비스타부터는 2d그래픽을 cpu가 그리지 않습니다.


다이렉트x10을 지원하는 그래픽카드의 경우는 자기가 전적으로 부담하고 다이렉트x9까지만 지원하는 그래픽카드의 경우엔


3d모드로 들어가서 cpu의 도움을 조금 받아서 2d가속을 담당하게 됩니다


그래서 윈도우 비스타에 표시되는 모든 창을 표현하는데 랜더러를 사용하는데, 동영상플레이어의 경우에도 dxva 동영상가속을 위해서


랜더러를 쓰게됩니다. 그러다보니 충돌이 생깁니다. 이게 바로 비스타의 최악의 악평을 받게하는 부분입니다.


그때 에어로테마가 꺼져버리고(DWM이 비활성화되고) 2d그래픽을 cpu가 부담하는걸로 변경된다.


이때 그래픽은 창모드게임이나 영상가속작업을 하게됩니다. 또는 응용프로그램이 gdi를 요구할때도 에어로가 죽게됩니다.


이렇게되면 창 투명도가 없어지는데, 이때 창 움직임같은게 좀 부드럽지 못하게 됩니다.


그게 단순히 에어로가 꺼져서 그런게 아니라 그래픽카드에서 하던일을 cpu에서 받아 처리하느라 그러는 겁니다


그리고 비스타 한참쓰던 사람이 xp로 내려가면 은근히 2d가 부드럽지않다고 느끼는데 그게 2d가속이 잘 안되기 때문입니다


지금은 xp드라이버가 정식지원되는 최신하드웨어라도, xp로 내려가서 드라이버 제대로 다 잡고 써도 비스타, 세븐같은 부드러움이


부족한것은 느끼게 됩니다. 그게바로 xp는 DWM 이 없기 때문입니다.


비스타부터 시작된 변혁의 고통은 비스타 자신도 그렇고 ms도 그렇고 애플리케이션 개발자들도 그렇고


유저까지도 모두를 고통스럽게 만들었습니다.


하지만 비스타가 닦아놓은 기반을 윈도세븐이 이어 가게 됩니다. 비스타 구조를 그대로 가져 가긴 하지만 ms도 윈도우 7 에서는


기능추가보다 버그 수정 하는데 노력한 점이 확실히 보입니다.


비스타가 나타나서 이것저것 버그로 인해서 많은 사람들이 xp 로 돌아 갑니다.


그후 마이크로소프트사는 3 년후에 새로운 운영체제인 윈도우 7 을 출시합니다.


3년동안 비스타에서 버그로 지적받은 부분을 교훈삼아 윈도우 7 에서는 새로운 방식인 wddm를 만들어 냅니다.


wddm(윈도 디스플레이 드라이버 모델)은 이전보다 더욱 개선되고 그래픽칩셋 제작사들의 wddm드라이버 품질도 높아지고


응용프로그램들도 구시대의 gdi대신 dwm표준을 준수하는등 각고의 노력으로 윈도우 7은 비스타만큼의 문제는 일으키지 않았고


인기가 높아 집니다


답없는 옛날 프로그램이나 비스타 이전의 동영상 플레이어를 쓴다면 모를까, 더 이상 창모드게임을 실행하거나


dxva동영상가속을 이용한다고 에어로테마가 죽는일도 현저히 낮아지게 되었다.


실제적으로 윈도우 7 에서 에어로 중단되는 상황은 많이 줄어 듭니다.


하지만 윈도우 7도 비스타 계열을 처럼 근본적인 틀은 같았기에 버그 수정하는데는 한계는 분명이 있었습니다.


시스템 구조를 바꾸지 않는한 비스타 초기 설계 미스에 대한 버그 패치를 없지는 않아서 여전히 가끔은 wddm 이 중지 되기도 했었습니다.


이런 버그 때문에 윈도우 7 에서도 아예 투명도가 없고 dwm을 이용하지않는 베이직 테마나 고전테마로 쓰는 사람들도 있었습니다.


물론 베이직이나 고전테마로 쓰게되면 dwm가속도 안되기때문에 2d그래픽 가속성능이 많이 나빠지고 cpu성능에도 도움이 안됩니다.


자신의 성능중 일부를 깎아서 2d를 그려내야 하니까. 그래픽카드는 단순히 모니터로 출력만 하게 됩니다


마이크로소프트사는 다시 3년후에 완전히 기본 구조 다른 윈도우8 을 출시 합니다.


윈도8은 ui의 급격한 변화 때문에 좋은소리를 못듣고 있지만, 사실 윈도우 8은 nt6커널과 구성요소의 완성판, 결정체라고


부를수 있을만한 운영체제입니다.


먼저, 윈8은 gdi요소가 완전히 없어졌습니다. 그래서 고전테마자체가 없습니다.


윈8부터는 dwm이 절대로 중지 되지 않습니다. 윈도 세븐까지는 항상 켜져 있어야 하지만 오류로 인해서 중지됬었는데


윈8은 어떠한 상황에서도 dwm 중지되지 않도록 설계 되어 있습니다. 그럼 gdi를 써야만하는 올드 애플리케이션은 어떻게 될까요?


dwm이 gdi를 에뮬레이션 하게 됩니다. 게다가 효율 성능은 테마 사용안하고 리얼gdi를 쓰는거보다 dwm이 gdi를 에뮬하는게 성능


더 좋습니다.


윈도세븐도 상당히 잘 만들어져서 xp의 왕위를 계승한다니 뭐니 하지만 사실 윈8이 훨씬 완성도가 높아서 2d가속성능의 경우


세븐의 5배정도 됩니다. 어지간한 초고해상도사진도 울렁임없이 편집이 수월합니다.


다만 급진적인 ui의 변화때문에 그좋은 장점들이 다 파묻히고 비스타급의 악평을 듣고 잇지만 실상은 그렇지 않습니다.


윈도우 8을 호환성 또는 단순히 ui가 불편한것으로 악평을 한다면 겉모습만 보고 사용해보지 않고 악평만 믿고 평가는 것이라


보시면 됩니다.


윈도우 8 만한 운영체제는 현재 없습니다.

번호 제목 글쓴이 조회 추천 등록일
[공지] 강좌 작성간 참고해주세요 gooddew - - -
1861 서버 / IT| 공유기 채널, 간섭을 없애자 [9] 마니아 6848 3 06-19
1860 서버 / IT| DAUM 아이디 1개로 도메인이 다른 메일주소 3개가 자동생성 [2] 마니아 4269 2 06-19
1859 윈 도 우| Win7PE/Builder를 설정/수정/사용해서/처음사용자 [3] 까꾸리 6887 10 06-18
1858 윈 도 우| 윈도우 8 탐색기의 라이브러리 숨기기 [10] 아까네코 6979 3 06-17
1857 윈 도 우| [추가] usb 부팅, 외장하드 부팅, 울트라 iso로 다 되네요. [24] suk 14949 14 06-17
1856 소프트웨어| 그림 속에 파일 숨기기 / 풀기 [2] 마니아 7196 1 06-16
1855 소프트웨어| 외장하드에 PE설치하여 부팅하기 [12] 카멜 9689 6 06-16
1854 윈 도 우| 인터넷 연결시 윈도우 8 시간 동기화 하기 배치파일 마니아 4806 1 06-16
1853 윈 도 우| dnf3.5통합을 hotfix업데이트 보다 먼저 해야 하더군요. [5] suh 5737 3 06-15
1852 윈 도 우| vhd로 pe 사용하기 2탄 (grub4dos 환경에서 bootmgr 경로 ... [13] 박군 13273 7 06-12
1851 소프트웨어| VirtualBox 64비트 이상의 운영체제가 설치가안될때.. [6] Lr라 4922 1 06-10
1850 윈 도 우| TV수신카드 자동 무인 녹화하기 [9] 창과방패 7893 0 06-10
1849 윈 도 우| 트윅윈도우 만들기.WinToolkit 1.4.1.23. [4] meAndYou 9072 7 06-10
1848 소프트웨어| 포터블 만드는 프로그램 오해하지말자. [2] Lr라 6257 0 06-09
1847 소프트웨어| bat 파일로 if문을 써보자.. [3] Lr라 4360 2 06-09
1846 윈 도 우| 고스트 파일을 VHD(X)으로 생성하여 등록하기 [7] 그루터기 7122 7 06-08
1845 소프트웨어| [알툴즈] 배너 없이 사용하는 방법. [2] 달려야하니 4476 4 06-07
1844 윈 도 우| 초보자를 위한 PE의 가상드라이브(Z)로 윈도우설치하기 [9] 마니또우 9690 15 06-06
1843 윈 도 우| VHD(X) OneKey 2013 아주 쉽게 생성하고 등록하기 [18] 그루터기 7821 14 06-06
1842 서버 / IT| 광고 없는 네이버 검색엔진 [8] DOS 7329 2 06-04
XE1.11.6 Layout1.4.8