2008/06/17 07:19

{.NET 3.5 Service Pack 3.5 Beta 1} 7.WPF의 달라진 점

WPF Performance Improvements

SP1 beta1에서는 WPF와 관련된 변화내용들이 상당히 많이 있습니다.
그 중의 대표적인 몇 가지를 추려 보면 아래와 같은 내용들을 볼 수 있습니다.

  • 자연스럽운 동영상 재생
  • Blur, DropShadow와 같은 Bitmap Effect 그리고 이런 효과들을 GPU 사용
  • 문자의 Rendering 속도의 개선인데 특히 Visual Brush에서 많이 개선
  • 2D Graphic 개선
  • 동시적인 Window의 성능 개선

이외에도 몇 가지 효과들이 함께 포함되었는데 이와 관련한 사항들은 아래에서 하나씩
짚어 보도록 하겠습니다.
아무튼 간단하게 볼 수 있는 WPF와 관련된 개선 사항은 ListView, ListBox, TreeView에서의 성능 개선을 들 수 있습니다. 스크롤시 성능 개선 사항이 40%라고 하고 있는데 내부적으로는 큰 개선이 있었던건 아닌것 같습니다. 어찌되었던 최적화를 통해서 스크롤의 성능 개선이 충분히 이루어진 것 뿐만 아니라 추가적인 혜택도 볼 수 있을 것 같습니다.

WPF Data Improvements

SP1에서는 Data Binding과 관련한 개선사항들이 있는데

  • 바인딩시에 StringFormat 을 사용할 수 있게 되었습니다.
  • ItemsControl은 List관련 컨트롤에서 하나의 아이템을 나타낼 때 사용하는 컨트롤인데 이와 관련된 바인딩이 개선되어서 관련된 행값의 속성 설정이 간단하게 처리됩니다.
  • Null값의 처리와 변환을 편집 가능한 컨트롤로 지원합니다.
  • 바인딩 항목에 대해서 Validation을 적용할 수 있습니다.
  • 멀티 선택이 가능합니다.
  • 항목의 편집, 추가, 삭제의 트렌젝션을 가능하게 IEditableCollectionView가 제공됩니다.
  • IEnumeratble 형식의 소스에 대하 바인딩 성능이 개선되었습니다.

올해 후반에 나올 기능으로는 Hook이라는 기능이 추가로 제공될 예정입니다. 이 기능을 사용하게 되면 가상 스크롤을 고유의 패널로 사용할 수 있게 되며 이를 통해서 WPF DataGrid를 구축할 수 있게 될 예정입니다.

WPF Extensible Shader Effects

SP1 Beta1에서는 새로운 음용효과와 아키텍쳐가 제공됩니다. WPF컨트롤이나 요소에는 좀더 시각적인 효과를 만들어서 적용할 수 있게 되엇습니다. 이런 효과들은 몇 가지 형태를 함께 사용할 수 있어서 좀 더 효과적입니다. 특히 이런 효과들의 처리를 CPU에서 처리하지 않고 Video Card에 내장된 GPU를 적극적으로 활용할 수 있게 된 점은 아주 고무적이라고 할 수 있습니다. 전체적으로 WPF의 표현은 좀 더 자유롭게 하면서 성능적으로는 더 가볍게 하는 장점이 있습니다.

간단하게 음영효과를 주기 위해서는 아래와 같은 코드를 입력하시면 됩니다.

사용자 삽입 이미지
<그림1> DropShadowEffect의 적용코드

사용자 삽입 이미지
<그림2> DropShadowEffect의 실행 모습

간단한 그림자 효과이지만 생각하기에 따라서는 다양한 효과로 함께 연출할 수 있다는 생각을 꼭 가지면 좋겠다는 생각이 듭니다. DropShadowEffect의 경우는 여러가지 객체들과 함께 사용할 수 있기 때문에 다양한 아이디어를 구사할 수 있는 장점이 있습니다.
사용자 삽입 이미지
사용자 삽입 이미지
<그림3> DirectionalBlurEffect를 사용해서 빠른 스크롤을 효과적으로 표현하는 예

이외에도 몇 가지 효과들이 더 추가 되었는데 이와 관련한 포스팅은 Greg Schechter의 블로그인
http://blogs.msdn.com/greg_schechter/archive/2008/05/09/a-series-on-gpu-based-effects-for-wpf.aspx 를 접속해 보면 자세한 내용을 확인 할 수 있다.

WPF Interoperability with Direct3D

WPF나 Direct3D는 모두 Direct X기반의 기술이다. Direct X기반의 기술들이라는 공통된 부모가 있으면서도 상호 운영에서 있어서 이제까지 한계점이 있었는데 SP1 부터는 직접적으로 이들을 함께 운영할 수 있는 방법을 제공해 주고 있습니다. 사실 Direct3D는 질감 표현이 뛰어난데 WPF와 DirectX를 함께 사용할 수 있기 때문에 여러가지 의미있는 도전들을 새롭게 생각해 낼 수 있게 되었습니다.
사용자 삽입 이미지
사용자 삽입 이미지
<그림 5> Direct X기반의 WPF와 Direct 3D의 상호 운영

VS 2008 for WPF Improvements

Visual Studio 2008 SP1을 통해서 WPF 프로젝트와 Designer가 많이 향상되었습니다.

  • 성능 개선
  • 속성 브라우저의 이벤트 탭
  • 속성 브라우저의 알파벳순 정렬
  • 폼 레이아웃에 대한 마진 설정 법
  • TabControl, Expander, Grid의 Designer 개선
  • XAML도 Update (코드를 리펙토링으로 초기화 함으로 가능함)
  • XAML로 선언된 지점으로 점프 및 참조 검색 지원

이외에 디버거도 런타임 오류가 일어나는 몇 케이스가 해결되었습니다.

사용자 삽입 이미지
<그림6> Visual Studio 2008 SP와 관련한 오류 케이스

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback 0 Comment 0