What’s New in Microsoft Silverlight 3 : http://videos.visitmix.com/MIX09/T14F 참고 :D
Silverlight 3 툴 지원
- Visual Studio 2008 Tools for Silverlight 3 beta/RTM
- XAP 압축률 향상
- 10~30% 감소된 XAP파일 크기
- 인터랙티브 디자이너
- Visual Studio 2010에서 지원 예정
- Expression Blend 3 preview
- 최종 버전은 올해 말
Media Format 지원
- H.264/AAC/MP4 디코더 지원
- 산업 표준 포맷으로 광범위하게 사용되고 있으므로 지원하기로 결정
- H.264 파일로 할 수 없는 것
- DRM 지원
- Windows Media Server에서 스트리밍 호스팅
GPU 가속 지원
- 옵트인 기능 즉, 명시적으로 사용할 것을 지정해야 함
- Param으로 EnableGPUAcceleration, EnableCacheVisualization를 true로 설정
- 최종 서피스 렌더링에 GPU를 사용
- 엘리먼트 마다 옵트인으로 적용
- CacheMode="BitmapCache"로 설정해야 함
- 여러 개의 엘리먼트가 조합되어 렌더링 될 때 GPU를 사용
- 엘리먼트를 늘릴 때(Stretch) GPU를 사용
- 브라우저와 full-screen 모드에서 모두 동작
- GPU 가속이 가능한 클라이언트에서 성능 향상
- 다른 어떤 비주얼도 수정하지 않아도 됨
(데모)
미디어 관련 : T43F, T19F, T56F
GPU 관련 : T17F
Perspective 3D(Projection)
- Perspective 3D
- 2D 오브젝트를 3D 공간에 배치
- X,Y,Z 회전 및 X,Y,Z 회전 축 지정
- 지역/전역 X,Y,Z 옵셋 지원
- Element.Projection
- 현재는 PlaneProjection만 지원
애니메이션 가속도 지원
- 기본 지원되는 애니메이션 가속도 함수
- CircleEase, SineEase, BackEase
- ExponetialEase, PowerEase
- QuadraticEase, CubicEase
- QuarticEase, QuinticEase
- ElasticEase, BounceEase
- 커스텀 가속도 함수도 작성 가능
- 자신만의 가속도 함수를 사용 가능
비트맵 이펙트와 픽셀 셰이더
- 이펙트
- 비주얼의 동작에 영향을 줌
- 기본 지원되는 이펙트
- Blur, DropShadow
- 커스텀 이펙트
- 커스텀 이펙트는 Shader로 구현됨
- HLSL이라는 표준 코드를 사용
- DX SDK 유틸리티를 사용하여 byte code로 컴파일
- 실버라이트 3는 컴파일 된 byte code를 사용
- 셰이더는 UI 엘리먼트가 렌더링 되기 전에 각각의 픽셀을 변경할 수 있는 기회를 제공
- 셰이더 = 픽셀 단위 함수 혹은 명령
- (Green screen 등)
픽셀 API
- 두 개의 파츠
- 동적 비트맵 생성
- WriterbleBitmap
- 비트맵에 있는 픽셀을 읽고 쓰기
- 비주얼 트리를 비트맵에 렌더링하기
- 시나리오
- 동적인 이미지 생성(실시간 그래프 등)
- 이미지 편집 및 효과
- 비주얼 복사
- reflections, drag effect 등
Raw 오디오/비디오 API
- 픽셀 API와 비슷하지만 오디오/비디오를 위한 기능
- 시나리오
- 동적으로 사운드 생성
- 커스텀 오디오/비디오 디코더 작성(DIVX, XVID 등)
자세한 데모 : T17F
로컬 메시징 지원
- 실버라이트 플러그인 간 데이터 통신
- 같은 페이지에 있는 여러 플러그인
- 다른 브라우저 탭에 있는 여러 플러그인
- 다른 브라우저에 있는 여러 플러그인
- 구현
- 공유 메모리(Shared memory)로 구현
- "named pipes"와 같이 노출됨
- 문자열 기반의 메시지
UI Framework 향상
- 리소스 병합 기능(Merged Resource Dictionaries)
- BasedOn 스타일(스타일 구조화)
- 런타임에 스타일 변경 가능
- 다중 선택 리스트박스
- "Handled"된 라우트 이벤트를 수신하는 것이 가능
- VSM에 "Invalid" 상태 추가
- 입력 상태가 유효하지 않을 때를 의미
- TextBox, CheckBox, ComboBox, ListBox, RadioButton 등
상세 : T16F
기타 향상
- SystemColors
- 플랫폼에서 사용중인 색상 테마
- FileSaveDialog 지원
- 명시적인 UI를 통한 저장 위치 결정 다이얼로그를 통해 파일 위치 결정
- 보안상의 이유로 유저가 선택한 파일을 열고 쓸 수만 있음
- 텍스트 향상
- 클리어 타입 텍스트(베타 이후에 지원 예정)
- CaretBrush(텍스트 박스 안에 있는 커서)
- 텍스트 애니메이션을 위한 최적화 옵션
- 텍스트가 정확한 픽셀에 정렬하기 위해 걸리는 것을 선택 가능
- Glyphs도 시스템 폰트를 지원
- 이미지 정렬
새 SDK 컨트롤
- DockPanel, Expander, Label, TreeView, ViewBox, WrapPanel, ChildWindow, DatePickerTextBox, TabPanel
- +기타…
그 외 중요한 추가 사항
- 비즈니스 관점의 지원
- 내비게이션 프레임워크(Frame, Page 모델)
- 데이터 건트롤
- SEO(검색 엔진 최적화) 지원
- N-Tier 데이터 모델 지원
- T40F 참고
- WebService 스택 향상
- Binary XML, SOAP faults, Credentials 지원
- T42F 참고
- Silverlight Toolkit
- T15F 참고
"Out of the Browser" 지원
- 실버라이트를 브라우저 바깥에서 실행 가능
- 그러나 일반 애플리케이션과는 다르게 철저하게 Sandbox 보안 모델 내에서 실행됨
- 브라우저에서 실행하는 것과 정확하게 동일한 보안 모델 및 사용성을 가짐
- 실버라이트 코어 런타임에 통합
- 브라우저 바깥에서 실행 될 때 SilverlightLauncher가 실행되고 그 위에서 동작
- 애플리케이션 단위로 사용 가능
- Manifest에 애플리케이션을 설명
- Deployment.ApplicationIdentity
- 설치 경험
- 우클릭하여 Install 선택
- 데스크탑과 프로그램 그룹에 추가할지 여부 선택
- 또는 설치를 위해 커스텀 버튼을 추가 가능
- Application.Current.Detach
- 삭제는 단순히 우클릭 후 Uninstall 한방으로 끝
- 새 네트워크 API
- 연결/연결 안됨 상태
- 상태 변경됨 이벤트
- Offline API
- 브라우저에서 실행되었는지 브라우저 바깥에서 실행되었는지 상태
- Application.Current.RunningOffline
- 업데이트 API 등
- 기본적으로 Online상태일 경우 새 버전의 XAP을 자동으로 설치
- 비즈니스 관점의 지원
