What is new in windows presentation foundation for net 3 5 sp1 l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

What is new in Windows Presentation Foundation for .NET 3.5 SP1? PowerPoint PPT Presentation


  • 138 Views
  • Uploaded on
  • Presentation posted in: General

What is new in Windows Presentation Foundation for .NET 3.5 SP1?. Pandurang Nayak & Supreet Singh Client Platform / UX Evangelist | Microsoft Corporation. .NET Framework and Tools Roadmap. 2006 .NET Framework 3.0 VS 2005 Extensions for .NET 3.0 (CTP) 2007 .NET Framework 3.5

Download Presentation

What is new in Windows Presentation Foundation for .NET 3.5 SP1?

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


What is new in windows presentation foundation for net 3 5 sp1 l.jpg

What is new in Windows Presentation Foundationfor .NET 3.5 SP1?

Pandurang Nayak & Supreet Singh

Client Platform / UX Evangelist |Microsoft Corporation


Net framework and tools roadmap l.jpg

.NET Framework and Tools Roadmap

  • 2006

    • .NET Framework 3.0

    • VS 2005 Extensions for .NET 3.0 (CTP)

  • 2007

    • .NET Framework 3.5

    • Visual Studio 2008

    • Expression Blend 1.0

  • 2008

    • .NET Framework 3.5 SP1

    • Visual Studio 2008 SP1

    • Expression Blend 2.0


Net framework roadmap l.jpg

.NET Framework Roadmap

.NET Framework 3.5 SP1

WPF Enhancements

Other Enhancements (ASP.NET, etc.)

.NET Framework 3.5

WPF 3.5

LINQ

Add-in Framework

WF & WCF Enhancements

.NET Framework 3.0

SP1

WPF

WCF

WF

CardSpace

.NET Framework 2.0

SP1

CLR

Base Class Library

WinForms/ ASP.NET


Wpf in a nutshell l.jpg

WPF in a nutshell

  • Rich Windows Applications

  • Great Architecture + Great Graphics

  • Rapid Prototyping

  • 2D, 3D, Vector, Document Flow, Layouts, Composition, etc.


Wpf 3 5 enhancements l.jpg

WPF 3.5 Enhancements


Net client profile l.jpg

.NET Client Profile

  • ~25MB Client-only Subset of .NET Fx

    • Includes WinForms, WPF, LINQ, etc.

    • Excludes ASP.NET, WCF, etc.

  • 200KB fully customizable Bootstrapper


N et framework client profile l.jpg

DEMO

.NET Framework Client Profile

Using the Client Profile Deployment option in Visual Studio 2008 SP1


Wpf 3 0 graphics recap l.jpg

WPF 3.0 Graphics Recap

  • Rich set of 2D drawing primitives

  • Basic 3D functionality via Viewport3D

  • Rich Media Integration

  • Extensive Animation System

  • Advanced Text Stack

  • Bitmap Effects

  • Imaging

  • Compositor


Wpf 3 5 graphics enhancements l.jpg

WPF 3.5 Graphics Enhancements

  • True Interactive 2D-on-3D

  • Pixel Shaders Effects Model

    • Hardware-Accelerated

    • HLSL Support

  • DirectX Interop

  • Interop Bitmap

    • Replaces Writeable Bitmap

  • Faster Layered Window Support

  • Animation Fixes


Graphics enhancements l.jpg

DEMO

Graphics Enhancements

Interactive 2D on 3D

Pixel Shader Effects


New controls l.jpg

New Controls

  • Web Browser Control

    • Interop between HTML and WPF content

    • WPF -> HTML

      • WPF application can call script methods in HTML with WebBrowser.InvokeScript

  • HTML -> WPF

    • Script in HTML can call methods and access properties on WebBrowser.ObjectForScripting that are COM-Visible with window.external

  • Load hosted HTML content from a stream or string

  • Access the document object loaded in the WebBrowser


  • New controls12 l.jpg

    New Controls

    • DataGrid Control

      • Available from WPF Toolkit (www.codeplex.com/wpf)

      • CTP Release with several features, being further improved upon

    • Ribbon-UI Control

      • Part of a future release with other controls and style templates


    Performance enhancements l.jpg

    Performance Enhancements

    • Greatly improved cold start time

      • >15% cold start gains for small apps

      • >35% cold start gains for large apps

    • XBAP cold start improvements (real + perceived)

      • ~10% faster XBAP cold start in addition to gains above by improving the concurrency of the ClickOnce download sequence

      • Instant (HTML) download progress UX to improves perceived XBAP startup


    Performance enhancements14 l.jpg

    Performance Enhancements

    • Splash Screen to improve perceived startup for Standalone apps

      • New public SplashScreen APIs

      • Intuitive VS integration (3 clicks to enable)

      • “Add / New Item…/SplashScreen (WPF)”

      • Sample code available for existing apps or for downleveltargeting

      • Downloadable VS Template from WPF Futures (www.codeplex.com/wpf)


    Perf tools l.jpg

    Perf Tools

    • Snoop

      • Generally useful to understand your app, view element tree.

    • WPFPerf Suite

      • Perf “power toy”, a set of diagnostic tools

    • Visual Studio Profiler

      • Great for CPU profiling

      • VS Developer Edition and VS Team Suite

    • CLR Profiler for .NET

      • Shows managed memory usage and leaks


    Perf tools snoop l.jpg

    Perf ToolsSnoop

    • Use to understand the size of the app Visual tree

    • Useful to detect Virtualization related issues & large app trees


    Perf tools snoop17 l.jpg

    Perf ToolsSnoop

    • Customer app lessons learned:

      • Watch for conditions that may turn virtualization off:

        • Make sure ScrollViewer.CanContentScroll=True

        • Make sure VirtualizingStackPanel.IsVirtualizing=True

        • Keep VirtualizingStackPanel as your default panel …or write own virtualized panel.

        • Avoid Grouping

      • # of elements can grow also when using rich templates

        • Use Snoop to watch element count


    Perf tools wpf perf suite l.jpg

    Perf ToolsWPF Perf Suite

    • Available for external download (WPF SDK & forums)

    • Initial diagnosis of over-invalidation & software rendering

    • A set of tools:

      • Perforator: Analyzes general rendering behavior

      • Visual Profiler: Provides breakdown of an object's use of WPF services, such as rendering and layout

      • String profiler (new): Analyzes where strings are being allocated

      • Event Trace: Analyze events and generating event log files

      • Trace Viewer: Record, display, and browse ETW log files in a WPF user-interface format


    Perf tools wpf perf suite perforator l.jpg

    Perf ToolsWPF Perf Suite: Perforator

    • To detect low perf b/c SW rendering:

      • Tint SW rendering: Draws purple when falling back to SW (or when SW api used, old driver, card, layered windows on XP, etc)

      • # SW Render Targets: If not 0, significant perf problem (old card, layered windows on XP)

      • # HW Render Targets: # should be equal to the number of app windows times # of display adapters. Indicates app running in HW

    • Low perf indicators

      • Large # of Intermediate Render Targets: additional images that WPF needs in order to get content ready for drawing

      • Maximum SW/HW IRTs per Frame:Shows max # of surfaces needed to render any one frame of the application. Usually caused by the use of DrawingBrush, VisualBrush, Opacity, or Tile modes on a TileBrush. If # high (e.g. > 7), indicates a potential perf issue


    Perf tools perforator l.jpg

    Perf Tools - Perforator


    Perf tools wpf perf suite visual profiler l.jpg

    Perf ToolsWPF Perf Suite: Visual Profiler

    • Inspect the Visual Tree

      • Show “hot path” of layout time: Tints the elements in the tree based on their time spent in layout

      • Shows inclusive/exclusive times and element counts

      • History graph of time breakdown: Helps identify whether an application’s bottlenecks lie in layout, rendering, animation, etc


    Perf tools visual profiler l.jpg

    Perf Tools - Visual Profiler


    Perf tools etw event trace event trace viewer l.jpg

    Perf ToolsETW Event Trace & Event Trace Viewer

    • Useful to view low-level WPF ETW events.

      WClientUceNotifyPresent: Use to calculate frames-per-second rendering perf (e.g. during animation, video, etc)

      WClientLayout: Use to calculate time app spends in laying out controls (e.g. during resize)

    • Can also use Xperf/Xperfinfo


    Photosuru l.jpg

    DEMO

    photoSuru

    WPF 3.5 Application

    Running Snoop on photoSuru


    References l.jpg

    References

    • What’s new in WPF 3.5 SP1?

      http://windowsclient.net/wpf/wpf35/wpf-whats-new-35sp1.aspx

    • Introducing .NET Framework Client Profile

      http://windowsclient.net/wpf/wpf35/wpf-intro-client-profile.aspx

    • Optimizing WPF App Performance MSDN paper

      http://msdn2.microsoft.com/en-us/library/aa970683.aspx

    • Snoop tool

      http://www.blois.us/Snoop

    • Various performance related blog

      http://blogs.msdn.com/jgoldb


    Contact l.jpg

    Contact

    • Blog Address

      www.thinkingMS.com/pandurang

    • Email Address

      [email protected]

      [email protected]


  • Login