Windows Presentation Foundation ("Avalon") Overview of Windows Vista Graphics Pablo Fernicola PRS...
-
Upload
lorena-franklin -
Category
Documents
-
view
214 -
download
0
Transcript of Windows Presentation Foundation ("Avalon") Overview of Windows Vista Graphics Pablo Fernicola PRS...
Windows Presentation Windows Presentation Foundation ("Avalon")Foundation ("Avalon")
Overview of Windows Vista GraphicsOverview of Windows Vista Graphics
Pablo FernicolaPablo Fernicola
PRS 309PRS 309 Group Program ManagerGroup Program ManagerMicrosoft CorporationMicrosoft Corporation
[email protected]://www.fernicola.org/loquitor
Top High Level Graphics Top High Level Graphics QuestionsQuestions
What is the direction for Windows What is the direction for Windows graphics?graphics?
What is the new baseline in relation to What is the new baseline in relation to graphics services for applications and graphics services for applications and content?content?
What are the new possibilities enabled What are the new possibilities enabled by the new Windows technologies?by the new Windows technologies?
Today’s Graphics Today’s Graphics LandscapeLandscape
Current mainstream Windows Current mainstream Windows graphics platform is 20 years oldgraphics platform is 20 years old
Greater expectations and demands in Greater expectations and demands in relation to experiences and qualityrelation to experiences and quality
Graphics hardware continues to Graphics hardware continues to evolve at a rapid paceevolve at a rapid pace
Performance vs price ratio constantly Performance vs price ratio constantly improving improving
Advances are mainly focused on the 3D Advances are mainly focused on the 3D pipelinepipeline
Graphics ToolboxGraphics Toolbox
Existing graphics technologies Existing graphics technologies continue to workcontinue to work
GDI, GDI+, DirectShow, …GDI, GDI+, DirectShow, …
But, for future development, you But, for future development, you should consider:should consider:
Direct3DDirect3D
Windows Media FoundationWindows Media Foundation
Windows Presentation FoundationWindows Presentation Foundation
New ToolboxNew ToolboxDirect3DDirect3D
Focused on 3D graphicsFocused on 3D graphicsMaximum flexibility in relation to 3D features and Maximum flexibility in relation to 3D features and resource managementresource management
Maturing as an enabler for general useMaturing as an enabler for general useLonghorn Display Driver Model virtualizes the GPU and Longhorn Display Driver Model virtualizes the GPU and enables multiple applications to share the graphics enables multiple applications to share the graphics processingprocessing
Versions detailsVersions detailsDirect3D 9 - basis for Longhorn graphicsDirect3D 9 - basis for Longhorn graphics
Direct3D 10 – advancing the state of the artDirect3D 10 – advancing the state of the art
PRS311 – Direct3D (Part 1): Utilizing the Maximum Power of the GPUPRS311 – Direct3D (Part 1): Utilizing the Maximum Power of the GPU
PRS416 – Direct3D (Part 2): Deep Dive into Building RT Graphics ApplicationsPRS416 – Direct3D (Part 2): Deep Dive into Building RT Graphics Applications
New ToolboxNew ToolboxWindows Media FoundationWindows Media Foundation
Protected Audio and Video Protected Audio and Video playbackplayback
Long term replacement for Long term replacement for DirectShow and Windows Media DirectShow and Windows Media SDKSDK
Key benefitsKey benefits““Resilience” media playbackResilience” media playback
Enables High Definition, contentEnables High Definition, content
New ToolboxNew ToolboxWindows Presentation FoundationWindows Presentation Foundation
Mainstream graphics services for applications and Mainstream graphics services for applications and contentcontent
Bringing the benefits of graphics hardware advances to Bringing the benefits of graphics hardware advances to the wider developer audiencethe wider developer audience
Greater emphasis on vector based contentGreater emphasis on vector based contentResolution independence/virtual pixelsResolution independence/virtual pixelsDouble precision coordinatesDouble precision coordinates
Coordinated advances in the graphics ecosystemCoordinated advances in the graphics ecosystemDisplaying through Longhorn Display Driver ModelDisplaying through Longhorn Display Driver ModelPrinting through Next Generation Print PathPrinting through Next Generation Print PathFull fidelity graphics remotingFull fidelity graphics remoting
PRS325 – WPF: Advanced Graphics (Part 1): 2D, 3D, and TextPRS325 – WPF: Advanced Graphics (Part 1): 2D, 3D, and Text
PRS328 – WPF: Advanced Graphics (Part 2): Animations, Imaging, Effects, and MediaPRS328 – WPF: Advanced Graphics (Part 2): Animations, Imaging, Effects, and Media
WPF Media Integration WPF Media Integration LayerLayer
Media Integration LayerMedia Integration LayerMedia Integration LayerMedia Integration Layer
2D2D2D2D
3D3D3D3D
AudioAudioAudioAudioImagingImagingImagingImagingTextTextTextText
VideoVideoVideoVideoEffectsEffectsEffectsEffects
Composition EngineComposition EngineComposition EngineComposition Engine
AnimationAnimationAnimationAnimation
Base ServicesBase ServicesBase ServicesBase Services
XAMLXAMLXAMLXAML
AccessibilityAccessibilityAccessibilityAccessibility
Property SystemProperty SystemProperty SystemProperty System
Input & EventingInput & EventingInput & EventingInput & Eventing
Document Document ServicesServicesDocument Document ServicesServices
XPS DocumentsXPS DocumentsXPS DocumentsXPS Documents
Packaging Packaging ServicesServices
Packaging Packaging ServicesServices
User Interface ServicesUser Interface ServicesUser Interface ServicesUser Interface Services
Application ServicesApplication ServicesApplication ServicesApplication Services
Deployment Deployment ServicesServices
Deployment Deployment ServicesServices
ControlsControlsControlsControls
LayoutLayoutLayoutLayout
DatabindinDatabindingg
DatabindinDatabindingg
Windows Presentation Windows Presentation FoundationFoundationSetting a higher barSetting a higher barThe new standard of what you should The new standard of what you should
expect from a graphics platformexpect from a graphics platform
Consistency across different services in Consistency across different services in relation torelation to
Programming modelProgramming model
Rendering and compositionRendering and composition
2D2D
3D3D
TextText
ImagingImaging
EffectsEffects
AudioAudio
VideoVideo
Animation and Animation and TimingTiming
All Paths Lead to the 3D All Paths Lead to the 3D PipelinePipeline
All rendering within WPF goes through All rendering within WPF goes through Direct3DDirect3D
Windows Vista’s hardware logo program Windows Vista’s hardware logo program requires a Dx9 GPUrequires a Dx9 GPU
Establishes a new balance between CPU Establishes a new balance between CPU and GPUand GPU
Better quality, better performance, frees up Better quality, better performance, frees up CPU cyclesCPU cycles
Benefits from 3D graphics accrue even to Benefits from 3D graphics accrue even to traditional 2D contenttraditional 2D content
““Managed graphics”Managed graphics”
Factored Programming Factored Programming ExposureExposure
Unmanaged code accessUnmanaged code accessImaging CODECsImaging CODECs
Imaging EffectsImaging Effects
Managed code accessManaged code accessMainstream entry points into graphicsMainstream entry points into graphics
System.Windows.ShapesSystem.Windows.Shapes
System.Windows.MediaSystem.Windows.Media
Lower level access, perhaps replacing Lower level access, perhaps replacing your existing graphics back-endyour existing graphics back-end
Visual layerVisual layer
Integration Across Media Integration Across Media TypesTypes
Going beyond just consistency in Going beyond just consistency in programming modelprogramming modelComposition through VisualBrushComposition through VisualBrush
Ability to use any content as the stroke, fill, or Ability to use any content as the stroke, fill, or texture for graphic elementstexture for graphic elementsContent can be a combination of multiple Content can be a combination of multiple media typesmedia types
Graphics and text can be used as a clip on Graphics and text can be used as a clip on any elementany elementAnimation can be applied to any propertyAnimation can be applied to any property
Hierarchical timing modelHierarchical timing model
Integration With Control Integration With Control FrameworkFrameworkAbility to apply different visuals to controlsAbility to apply different visuals to controls
Model/View separationModel/View separationGreatly reduce need to rewrite existing Greatly reduce need to rewrite existing controls in order to customize look and feelcontrols in order to customize look and feel
Graphics as a first class Framework conceptGraphics as a first class Framework conceptParticipate in layout, styling, and serialize to Participate in layout, styling, and serialize to XAMLXAML
Ability to generate graphics content through Ability to generate graphics content through databindingdatabinding
Enable richer visualization and interactionEnable richer visualization and interaction
Presenting user interface on 3D surfacesPresenting user interface on 3D surfaces
Windows Presentation Windows Presentation FoundationFoundation Basic benefitsBasic benefits
Benefits are equally present whether your Benefits are equally present whether your focus is on controls, documents, or focus is on controls, documents, or graphicsgraphics
Same capabilities and performance whether Same capabilities and performance whether local or Web basedlocal or Web based
Hardware acceleration pervasive throughout Hardware acceleration pervasive throughout WPF servicesWPF services
2D anti-aliased graphics2D anti-aliased graphicsSub-pixel ClearType textSub-pixel ClearType textImaging transformationsImaging transformations
Extensible imaging CODEC architectureExtensible imaging CODEC architecture
Access to OpenType functionalityAccess to OpenType functionality
Windows Presentation Windows Presentation FoundationFoundationGoing beyond the basicsGoing beyond the basics
Utilize animation functionality to provide Utilize animation functionality to provide users with feedback as part of your users with feedback as part of your interfaceinterface
Use databinding and data transforms to Use databinding and data transforms to provide richer graphical representation of provide richer graphical representation of data, or to create user interface elementsdata, or to create user interface elements
Incorporate 3D content and/or media as a Incorporate 3D content and/or media as a building block of your experiencebuilding block of your experience
PRS324 – Using Data in your WPF ApplicationsPRS324 – Using Data in your WPF Applications
OpportunitiesOpportunities
Go further in traditional areas, with less Go further in traditional areas, with less workwork
Incorporate additional functionality into your Incorporate additional functionality into your existing applicationsexisting applicationsAdvance your applications, by building on WPF Advance your applications, by building on WPF services services
Focus areas: drawing, imaging/photo, typography, Focus areas: drawing, imaging/photo, typography, mediamedia
Break new ground and set yourself apartBreak new ground and set yourself apartProvide richer, Web-based, interactive Provide richer, Web-based, interactive applications and contentapplications and contentDevelop applications/utilities that participate in Develop applications/utilities that participate in a XAML based workflowa XAML based workflowIncorporate data visualization into re-usable Incorporate data visualization into re-usable controlscontrolsLeverage the integration of 2D and 3D into new Leverage the integration of 2D and 3D into new experiencesexperiences
Community ResourcesCommunity ResourcesMost closely related sessionsMost closely related sessions
PRS 305 – A Lap Around WPFPRS 305 – A Lap Around WPFPRS 325 – 2D, 3D, and TextPRS 325 – 2D, 3D, and TextPRS 328 – Imaging, Effects, Media and PRS 328 – Imaging, Effects, Media and Animation in WPFAnimation in WPFPRS 311 and PRS 416 – Direct3DPRS 311 and PRS 416 – Direct3D
Presentation (PRS) LoungePresentation (PRS) LoungeHands-On LabHands-On LabBirds of a Feather sessionsBirds of a Feather sessions
Channel9 Tag: Channel9 Tag: http://channel9.msdn.com/tags/Avalonhttp://channel9.msdn.com/tags/AvalonNewsgroup: Newsgroup: microsoft.public.windows.developer.winfx.avalonmicrosoft.public.windows.developer.winfx.avalon