Pandurang Nayak
Client Platform Evangelist
Microsoft Corporation
.NET Framework and Tools Roadmap

 2006
    .NET Framework 3.0
    VS 2005 Extensions for .NET 3.0 (CTP)
 2007
    .NET Fr...
.NET Framework Roadmap
                    .NET Framework 3.5 SP1
 WPF Enhancements             Other Enhancements (ASP.NE...
WPF in a nutshell
 Rich Windows Applications
 Great Architecture + Great Graphics
 Rapid Prototyping

 2D, 3D, Vector, Doc...
WPF 3.5 Enhancements

• .NET Framework        • Interactive 2D on 3D   • Cold Startup
  Client Profile        • Pixel Shad...
.NET Client Profile
 ~25MB Client-only Subset of .NET Fx
    Includes WinForms, WPF, LINQ, etc.
    Excludes ASP.NET, WCF,...
.NET Framework Client Profile
Using the Client Profile Deployment option in Visual Studio 2008
SP1
WPF 3.0 Graphics Recap
 Rich set of 2D drawing primitives
 Basic 3D functionality via Viewport3D
 Rich Media Integration
 ...
WPF 3.5 Graphics Enhancements
 True Interactive 2D-on-3D
 Pixel Shaders Effects Model
    Hardware-Accelerated
    HLSL Su...
Graphics Enhancements
Interactive 2D on 3D
Pixel Shader Effects
New Controls
 Web Browser Control
   Interop between HTML and WPF content
   WPF -> HTML
       WPF application can call s...
New Controls
 DataGrid Control
   Available from WPF Toolkit
   (www.codeplex.com/wpf)
   CTP Release with several feature...
New Controls
Web Browser, Ribbon and DataGrid
Performance Enhancements
 Greatly improved cold start time
    >15% cold start gains for small apps
    >35% cold start ga...
Performance Enhancements
 Splash Screen to improve perceived startup for
 Standalone apps
   New public SplashScreen APIs
...
Perf Tools
 Snoop
    Generally useful to understand your app, view
    element tree.
 WPFPerf Suite
    Perf “power toy”,...
Perf Tools
Snoop
 Use to understand the size of the app Visual tree
 Useful to detect Virtualization related issues & larg...
Perf Tools
Snoop
 Customer app lessons learned:
       Watch for conditions that may turn virtualization off:
   •   Make ...
Perf Tools
WPF Perf Suite
  Available for external download (WPF SDK & forums)
  Initial diagnosis of over-invalidation & ...
Perf Tools
WPF Perf Suite: Perforator
  To detect low perf b/c SW rendering:
      Tint SW rendering: Draws purple when fa...
Perf Tools - Perforator
Perf Tools
WPF Perf Suite: Visual Profiler
  Inspect the Visual Tree
     Show “hot path” of layout time: Tints the elemen...
Perf Tools - Visual Profiler
Perf Tools
ETW Event Trace & Event Trace Viewer
  Useful to view low-level WPF
  ETW events.
  WClientUceNotifyPresent: Us...
photoSuru
WPF 3.5 Application
Running Snoop on photoSuru
References
 What’s new in WPF 3.5 SP1?
    http://windowsclient.net/wpf/wpf35/wpf-whats-new-35sp1.aspx

 Introducing .NET ...
Contact
 Blog Address
 www.thinkingMS.com/pandurang

 Email Address
 pandurang.nayak@microsoft.com
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
What Is New In Wpf 3.5 Sp1
What Is New In Wpf 3.5 Sp1
What Is New In Wpf 3.5 Sp1
Upcoming SlideShare
Loading in...5
×

What Is New In Wpf 3.5 Sp1

1,216

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,216
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
31
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

What Is New In Wpf 3.5 Sp1

  1. 1. Pandurang Nayak Client Platform Evangelist Microsoft Corporation
  2. 2. .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
  3. 3. .NET Framework Roadmap .NET Framework 3.5 SP1 WPF Enhancements Other Enhancements (ASP.NET, etc.) .NET Framework 3.5 WF & WCF WPF 3.5 LINQ Add-in Framework Enhancements .NET Framework 3.0 WPF WCF WF CardSpace .NET Framework 2.0 WinForms/ CLR Base Class Library ASP.NET
  4. 4. WPF in a nutshell Rich Windows Applications Great Architecture + Great Graphics Rapid Prototyping 2D, 3D, Vector, Document Flow, Layouts, Composition, etc.
  5. 5. WPF 3.5 Enhancements • .NET Framework • Interactive 2D on 3D • Cold Startup Client Profile • Pixel Shaders and Improvements • ~25MB client subset Effects Model • Several perf of .NET Framework • DirectX Interop enhancements • Customized install • New Controls • Profiling tools and experiences instrumentation Deployment Graphics Performance
  6. 6. .NET Client Profile ~25MB Client-only Subset of .NET Fx Includes WinForms, WPF, LINQ, etc. Excludes ASP.NET, WCF, etc. 200KB fully customizable Bootstrapper
  7. 7. .NET Framework Client Profile Using the Client Profile Deployment option in Visual Studio 2008 SP1
  8. 8. 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
  9. 9. 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
  10. 10. Graphics Enhancements Interactive 2D on 3D Pixel Shader Effects
  11. 11. 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
  12. 12. 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
  13. 13. New Controls Web Browser, Ribbon and DataGrid
  14. 14. 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
  15. 15. 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 downlevel targeting Downloadable VS Template from WPF Futures (www.codeplex.com/wpf)
  16. 16. 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
  17. 17. Perf Tools Snoop Use to understand the size of the app Visual tree Useful to detect Virtualization related issues & large app trees
  18. 18. Perf Tools Snoop 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
  19. 19. Perf Tools WPF 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
  20. 20. Perf Tools WPF 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
  21. 21. Perf Tools - Perforator
  22. 22. Perf Tools WPF 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
  23. 23. Perf Tools - Visual Profiler
  24. 24. Perf Tools ETW 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
  25. 25. photoSuru WPF 3.5 Application Running Snoop on photoSuru
  26. 26. 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
  27. 27. Contact Blog Address www.thinkingMS.com/pandurang Email Address pandurang.nayak@microsoft.com
  28. 28. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×