WPF 아키텍처
기본 WPF 프로그래밍 모델은 관리 코드를 통해 노출됩니다. WPF의 초기 디자인 단계에서는 시스템의 관리되는
구성 요소와 관리되지 않는 구성 요소를 정확하게 구분하는 방법에 대한 많은 논쟁이 있었습니다.
CLR에서는 보다 생산적이며 강력한 개발 작업을 수행하는 데 유용한 여러 기능(메모리 관리, 오류 처리, 공용
형식 시스템 등)을 제공하지만 이러한 이점에는 대가가 따릅니다.
WPF의 주요 구성 요소는 아래 그림에 설명되어 있습니다. 다이어그램의 빨간색 섹션(PresentationFramework,
PresentationCore 및 milcore)은 WPF의 주요 코드 부분입니다. 이 중에서 하나(milcore)만 관리되지 않는 구성
요소입니다. milcore는 DirectX와의 긴밀한 통합을 위해 비관리 코드로 작성되어 있습니다.
WPF에서의 모든 디스플레이는 DirectX 엔진을 통해 수행되므로 효율적인 하드웨어 및 소프트웨어 렌더링을
허용합니다. WPF에는 메모리 및 실행에 대한 세부적인 제어도 필요합니다. milcore에 있는 컴포지션 엔진은
성능의 영향을 크게 받으므로 성능을 높이기 위해 CLR의 여러 이점을 포기해야 했습니다.
대부분 Managed Code로 이루어져있지만 렌더링 엔진인 milcore는 Unmanaged Code로 이루어져있다.
출처 : http://msdn.microsoft.com/ko-kr/library/ms750441.aspx
Trackback Address:이 글에는 트랙백을 보낼 수 없습니다