WDDM은 Windows 7과도 연관이 되는 것이지만, 다루려면 윈앤위 비스타 웹로그에서 벌써 다루어져야 했으므로 늦어도 한 참 늦은 셈이라고 할 수 있을 것이다. 윈앤위가 추구하는 것이 Windows Shell 및 Usage이지만 여기에도 Windows의 퍼포먼스와 연관되는 것들이 있으므로 기술적인 요소를 다루지 않으면 안되는데, 배우기(Mr.Learn)가 어렵다면 바로 이러한 기술적인 요소들을 이해하는 것이다. 이해하지도 못하는 것을 웹로그로 옮긴다면 마치 앵무새처럼 따라하는 것 밖에 안되므로 나름대로 시간을 가지고 이해의 폭을 넓히려는 노력을 했다.
MS가 말하는 WDDM(Windows Display Driver Model)에 대한 짧은 정리
WDDM이 적용됨으로써 Windows 시스템 전반적으로는 안정성 및 성능향상 그리고 보안이 강화되었고, 데스크톱 창 관리자에서는 그래픽 품질을 강화하여 에어로 효과와 비주얼 리프래쉬를 통해서 사용자들에게 고품질의 경험과 함께 더욱 효과적인 GUI 인터페이스를 제공하며, 비디오 재생에 있어서도 손쉬운 TV출력 기능을 제공하면서 오디오, 비디오, HD급 재생장치(playback)도 향상을 시켰다. 개발자들이 새로이 배포하는 그래픽 드라이버들은 업데이트 후에 재부팅이 요구되지 않고, 더불어 이동장치들에 대한 핫플러그 감지(Hot plug detection)와 하이브리드
대기모드절전모드(Hybrid Slip)가 지원되도록 했다. WDDM이라는 것은 새로운 그래픽관련 어플리케이션 프로그래밍 인터페이스(APIs, Application Programming Interface)를 제공함으로써 가능한 것이고, WPF(Windows Presentation Foundation)라는 Windows 클라이언트 차세대 개발 플랫폼을 기반으로 하고 있다.
WDDM이전 메모리 보고(Graphics Memory Reporting before WDDM)
비스타 이전 운영체제들은 그래픽 메모리를 보고할 때 제어판
► 디스플레이를 통해서 단순한 수치로써 획일적으로 보고를 했는데, 이러한 수치는 기술적으로 의미가 없는 정보(no technical merit)로써 운영체제 차원에서 단순하게 사용자가 참조할 수 있도록 하는 정보에 불과한 것이다. 그래픽 카드를 개발하고 공급 및 판매하는 IHV(Independent hardware vendors )라면 해당 그래픽 드라이버들이 운영체제를 위해서 단순하지만 메모리 수치를 제공하는 의무를 이행하였고, 사용자들은 디스플레이 정보를 통해서 간편하게 보고받았다. 그러나 일부 구형 API(legacy APIs)들은 로컬과 비로컬 메모리를 2가지의 형태의 메모리 보여주었지만, 드라이버의 선택에 따라서 수치는 유동적이고 대부분 부정확한 정보(mostly inaccurate)에 지나지 않는다고 할 수 있다.
최신 전용 그래픽 아답터들은 탑재된 메모리(온보드)가 N이다라고 하면서
XXXMB라는 식으로 판매되는 경우가 있는데, 여기서
XXXMB라는 것은
비디오 카드 전용 메모리(on-board high-speed memory)와 시스템 메모리의 일부를 사용하는 공유 메모리 양쪽 모두를 합산한 용량일 경우도 있다. 예를들면 전용 그래픽 아답터가 실제로는 단지 64MB의 고속 온보드 메모리(전용 그래픽 메모리)를 가지면서 이와 함께 시스템 메모리의 192MB를 공유 메모리로 취함으로써 256MB의 그래픽 메모리를 가지고 있다라고 할 수 있다는 것이다. 예를들면 아래에서 처럼 ATI의 하이퍼메모리(HyperMemory)와 NVIDIA사의 터보캐시 기술(TurboCache technology)이 사용되는 그래픽 아답터들이 이에 해당한다.(아래의 비스타와 XP에서는 보고되는 3종류의 메모리 보고 비교 샘플 참조)
WDDM에 의한 메모리 보고(Graphics Memory Reporting through WDDM)
비스타가 출시되면서 운영체제는 이전 보다는 더 많은 부담을 그래픽 처리 장치(GPU, Graphic Processing Unit)에게 전가하게 되었다. 그래서
전체 시스템 퍼포먼스는 그래픽 구동장치의 성능과 밀접한 관계를 가지게 되었고 동시에 사용 가능한 그래픽 메모리의 총용량은 퍼포먼스에 직접적인 영향을 끼친다. 마이크로소프트는 그래픽 메모리가 보고되는 방법을 향상시켜서 시스템 퍼포먼스에 직접적으로 영향을 끼지는 요소들을 사용자들이 더 잘 이해할 수 있도록 하였다. WDDM의 경우 운영체제가 그래픽 메모리에 소비되는 각각의 요소들을 정확하게 계산할 수 있으며, 기존과는 전혀 다른 새로운 API들을 통해서 사용할 수 있는 메모리를 보고한다. e.g) 시스템 평가도구(WinSAT.exe)
비스타와 XP에서 보고되는 3종류의 메모리 보고, 비교 샘플
본래 이 섹션에서는 그래픽 메모리의 계산(Calculation of Graphics Memory)으로써 실질적으로 그래픽 아답터들의 샘플을 포함 어떠한 방식으로 메모리 수치가 나오느냐가 설명되어져야 하지만, 배우기(Mr.Learn)가 MS문서를 보면서 웹로그로 재구성하는 과정에서 처음 계획과는 달리 고의적으로 제외(
일단 보류)시켰다. 왜냐하면 배우기(Mr.Learn)가 PC 하드웨어의 공학적 지식이 부족한 상태여서 난해하기도 하지만 정보를 부정확하게 전달할 소지도 있고, 개발자가 아닌 이상 사용자 입장에서는 굳이 계산 과정이나 방법까지 이해할 필요는 없을 것이란 생각에서 간단히 하나만 예시를 하고 건너뛴다.
그래픽 메모리 계산 방법 중의 일부 예제.)
TotalSystemMemoryAvailableForGraphics = MAX((TotalSystemMemory - 512) / 2), 64MB)
;위의 계산방식을 적용하면 전체 시스템 메모리(TotalSystemMemory)가 640MB 보다 클 경우 1/2값이 그래픽 메모리로 사용될 수 있는 시스템 메모리의 용량이 되는데, 시스템 메모리는 대개 기가바이트로 장착이 되므로 32비트 시스템 메모리를 기준으로 1GB(1024MB)라면 256MB, 2GB(2048MB)라면 768MB, 4GB라면 1.8GB(1792MB)까지 시스템 메모리가 그래픽 메모리로 사용될 수 있다. 여기서 ... 줄임!
보이는 것이 믿는 것이라고 사용자들에게 중요한 것은 실제 비교 샘플일 것이다. 그래서 3종류의 그래픽 아답터가 Windows 비스타(왼쪽)에서 보고하는 메모리와 Windows XP(오른쪽)에서 보고하는 메모리 상태를 좀 더 파악하기 쉽게 이미지를 재편집해 보았다.(MS 기술 문서에 삽입된 이미지가 그리 선명하지 않음)
1. 데스트톱 PC용으로 256MB의 전용 그래픽 메모리를 가지는 경우 - ATI의 그래픽 아답터가 256MB의 전용 그래픽 메모리를 가지고 있지만, 공유 시스템 메모리로 511MB를 사용한다. 그래픽 용도로 추가적인 시스템 메모리의 일부를 사용하므로써
사용 가능한 총 그래픽 메모리는 767MB이다. XP(오른쪽)에서는 단순하게 256MB의 전용 그래픽 메모리를 보고한다.
2. 모바일 PC용으로 32MB의 전용 메모리를 가지는 경우 - 엔비디아의 터보캐시 기술(NVIDIA TurboCache technology)을 탑제한 32MB의 전용 메모리를 가지는 그래픽 아답터이지만, 비스타(왼쪽)에서 전용 비디오 메모리 128MB로 보고된다. 더불어 공유 메모리 255MB를 사용해서 그래픽 용도로 사용할 수 있는
사용 가능한 총 그래픽 메모리를 383MB로 보고한다. XP에서는 256MB의 비디오 메모리를 보고한다.
3. 모바일 PC용으로 256MB의 공유 그래픽 메모리를 사용하는 그래픽 아답터 - 인텔 UMA(Unified Memory Architecture) 모바일 아답터는 전용 그래픽 메모리를 가지고 있지 않지만, 전용 비디오 메모리 64MB(시스템 메모리 일부가 사용되면서 최소 크기 보장으로 생각됨)와 더불어 공유 시스템 메모리 192MB를 사용하여 그래픽 목적으로 비스타에서는
사용 가능한 총 그래픽 메모리 256MB를 보고한다. 반면에 XP에서는 재미있게도 디스플레이 등록 정보에서 128MB로 보고한다.
사용자들의 빅 이슈에 해당하는 것이 Windows 32비트 (x86기준) 클라이언트에서 4GB를 인식 못한다거나 또는 4GB를 사용하지 못한다는 인식이 있다. 심지어는 4GB내에는 비관리 메모리(Unmanaged Memory, UM)가 있기 때문에 SuperSpeed사의 램디스크 플러스의 UM기능을 사용한다고 하지만, 지금까지 확인한 MS 기술 문서를 토대로 한다면 이러한 잘못된 인식들은 이렇게 Windows의 메카니즘에 접근해 보면 오해가 풀리지 않을까 해서 정리를 해 보았다.
웹로그 작성 참조 URL :
http://www.microsoft.com/whdc/device/display/graphicsmemory.mspx
결론적으로 이번 웹로그를 통해서 다음과 같은 7가지의 정리가 가능하다.
1. 시스템 메모리의 많은 부분을 소비하는 주 원인은 그래픽 아답터이다.
2. 전용 그래픽 아답터라도 자신의 전용 메모리와 더불어 시스템 메모리의 일부를 사용한다.
3. 통합형 그래픽 아답터는 시스템 메모리로써 그래픽 용도로 전용과 공유 양쪽 모두를 사용한다.
4. 그래픽 아답터가 시스템 메모리를 사용(공유)하나, 비그래픽 어플리케이션과 타 구동장치와 공유한다.
5. 비스타 부터는 그래픽 아답터가 보다 많은 부담을 갖게되었고, 많은 시스템 메모리가 사용된다.
6. 그래픽 아답터가 시스템 메모리를 사용하는 것은 그래픽 처리 성능을 높히기 위한 것이다.
7. 그래픽 처리의 성능은 곧 Windows 운영체제의 퍼포먼스와 직결된다.
* 배우기(Mr.Learn)가 무엇을 어떻게 해야한다고라고 구체적으로 언급하지 않았지만, 정리한 내용을 통해 과연 어떻게 하는 것이 Windows 전체 퍼포먼스를 위해 현명한 것인가 아마도 이 글을 읽는 구독자님이라면 판단할 수 있지 않을까.
무식한 것인지 용감한 것인지, 네이버 상습 펌질 및 양심불량 블로그(
blog.naver.com/spef)는 윈앤위 게시물 모두 삭제하십시오!
개인 운영 사이트라고 만만하게 생각하고 콘텐츠 복제하나본데 그러다가 큰코 다칩니다.
저작권자 동의없이 콘텐츠 복제를 금합니다. 동의를 거쳐서
이용 규칙을 준수하십시오!
작성날짜 : 2009년 04월 29일
작성시간 : AM 08시 35분 58초
퍼브리셔 :
배우기(Mr.Learn)
저작권자 : Powered by 윈앤위
코멘트는 누구에게나 열려 있습니다.
트랙백도 블로거에게 열려 있습니다.