SlideShare a Scribd company logo
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 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
                    .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
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

• .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
.NET Client Profile
 ~25MB Client-only Subset of .NET Fx
    Includes WinForms, WPF, LINQ, etc.
    Excludes ASP.NET, WCF, etc.
 200KB fully customizable Bootstrapper
.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
 Extensive Animation System
 Advanced Text Stack
 Bitmap Effects
 Imaging
 Compositor
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
Interactive 2D on 3D
Pixel Shader Effects
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 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
New Controls
Web Browser, Ribbon and DataGrid
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 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)
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
 Use to understand the size of the app Visual tree
 Useful to detect Virtualization related issues & large app trees
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
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
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
Perf Tools - Perforator
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
Perf Tools - Visual Profiler
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
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 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
 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 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.

More Related Content

Similar to What Is New In Wpf 3.5 Sp1

Session 2: Expanding the Silverlight Reach - WPF and .NET Client Profile
Session 2: Expanding the Silverlight Reach - WPF and .NET Client ProfileSession 2: Expanding the Silverlight Reach - WPF and .NET Client Profile
Session 2: Expanding the Silverlight Reach - WPF and .NET Client Profile
ukdpe
 
WPF 4 Series: Getting Started
WPF 4 Series: Getting StartedWPF 4 Series: Getting Started
WPF 4 Series: Getting Started
Ghasem Karimi
 
Wpf4 july2010
 Wpf4 july2010 Wpf4 july2010
Wpf4 july2010tedhu
 
What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1
ukdpe
 
MikeTaulty_WPF_DevDays
MikeTaulty_WPF_DevDaysMikeTaulty_WPF_DevDays
MikeTaulty_WPF_DevDays
ukdpe
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot net
conline training
 
086 Microsoft Application Platform 2009 2010
086 Microsoft Application Platform 2009 2010086 Microsoft Application Platform 2009 2010
086 Microsoft Application Platform 2009 2010GeneXus
 
Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
Naga Harish M
 
Difference .Net Frameworks
Difference .Net FrameworksDifference .Net Frameworks
Difference .Net Frameworks
mumairkhan
 
Power Apps Component Framework - Dynamics Power! 365 Paris 2019
Power Apps Component Framework - Dynamics Power! 365 Paris 2019  Power Apps Component Framework - Dynamics Power! 365 Paris 2019
Power Apps Component Framework - Dynamics Power! 365 Paris 2019
Allan De Castro
 
Net35 Overview
Net35 OverviewNet35 Overview
Net35 Overview
llangit
 
Windows Phone 8.1 アプリ開発徹底解説
Windows Phone 8.1 アプリ開発徹底解説Windows Phone 8.1 アプリ開発徹底解説
Windows Phone 8.1 アプリ開発徹底解説shinobu takahashi
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
Dot Net Training Dot Net35
Dot Net Training Dot Net35Dot Net Training Dot Net35
Dot Net Training Dot Net35Subodh Pushpak
 
WPF & Silverlight Intro
WPF & Silverlight IntroWPF & Silverlight Intro
WPF & Silverlight Intro
Dave Allen
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightFrank La Vigne
 
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
Louis Göhl
 
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
Anil Sharma
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsDave Allen
 

Similar to What Is New In Wpf 3.5 Sp1 (20)

Session 2: Expanding the Silverlight Reach - WPF and .NET Client Profile
Session 2: Expanding the Silverlight Reach - WPF and .NET Client ProfileSession 2: Expanding the Silverlight Reach - WPF and .NET Client Profile
Session 2: Expanding the Silverlight Reach - WPF and .NET Client Profile
 
WPF 4 Series: Getting Started
WPF 4 Series: Getting StartedWPF 4 Series: Getting Started
WPF 4 Series: Getting Started
 
Wpf4 july2010
 Wpf4 july2010 Wpf4 july2010
Wpf4 july2010
 
What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1
 
MikeTaulty_WPF_DevDays
MikeTaulty_WPF_DevDaysMikeTaulty_WPF_DevDays
MikeTaulty_WPF_DevDays
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot net
 
086 Microsoft Application Platform 2009 2010
086 Microsoft Application Platform 2009 2010086 Microsoft Application Platform 2009 2010
086 Microsoft Application Platform 2009 2010
 
Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
 
Difference .Net Frameworks
Difference .Net FrameworksDifference .Net Frameworks
Difference .Net Frameworks
 
Power Apps Component Framework - Dynamics Power! 365 Paris 2019
Power Apps Component Framework - Dynamics Power! 365 Paris 2019  Power Apps Component Framework - Dynamics Power! 365 Paris 2019
Power Apps Component Framework - Dynamics Power! 365 Paris 2019
 
Net35 Overview
Net35 OverviewNet35 Overview
Net35 Overview
 
Windows Phone 8.1 アプリ開発徹底解説
Windows Phone 8.1 アプリ開発徹底解説Windows Phone 8.1 アプリ開発徹底解説
Windows Phone 8.1 アプリ開発徹底解説
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
Silverlight Training
Silverlight TrainingSilverlight Training
Silverlight Training
 
Dot Net Training Dot Net35
Dot Net Training Dot Net35Dot Net Training Dot Net35
Dot Net Training Dot Net35
 
WPF & Silverlight Intro
WPF & Silverlight IntroWPF & Silverlight Intro
WPF & Silverlight Intro
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
 
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...
 
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
 
Data Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight ApplicationsData Driven WPF and Silverlight Applications
Data Driven WPF and Silverlight Applications
 

More from rsnarayanan

Kevin Ms Web Platform
Kevin Ms Web PlatformKevin Ms Web Platform
Kevin Ms Web Platformrsnarayanan
 
Harish Understanding Aspnet
Harish Understanding AspnetHarish Understanding Aspnet
Harish Understanding Aspnetrsnarayanan
 
Harish Aspnet Dynamic Data
Harish Aspnet Dynamic DataHarish Aspnet Dynamic Data
Harish Aspnet Dynamic Datarsnarayanan
 
Harish Aspnet Deployment
Harish Aspnet DeploymentHarish Aspnet Deployment
Harish Aspnet Deploymentrsnarayanan
 
Whats New In Sl3
Whats New In Sl3Whats New In Sl3
Whats New In Sl3rsnarayanan
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...rsnarayanan
 
Advanced Silverlight
Advanced SilverlightAdvanced Silverlight
Advanced Silverlightrsnarayanan
 
Occasionally Connected Systems
Occasionally Connected SystemsOccasionally Connected Systems
Occasionally Connected Systemsrsnarayanan
 
Developing Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And ServicesDeveloping Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And Servicesrsnarayanan
 
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...rsnarayanan
 
J Query The Write Less Do More Javascript Library
J Query   The Write Less Do More Javascript LibraryJ Query   The Write Less Do More Javascript Library
J Query The Write Less Do More Javascript Libraryrsnarayanan
 
Ms Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My SqlMs Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My Sqlrsnarayanan
 
Windows 7 For Developers
Windows 7 For DevelopersWindows 7 For Developers
Windows 7 For Developersrsnarayanan
 
Ux For Developers
Ux For DevelopersUx For Developers
Ux For Developersrsnarayanan
 
A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8rsnarayanan
 
App Arch Guide (Dons)
App Arch Guide (Dons)App Arch Guide (Dons)
App Arch Guide (Dons)rsnarayanan
 

More from rsnarayanan (20)

Walther Aspnet4
Walther Aspnet4Walther Aspnet4
Walther Aspnet4
 
Walther Ajax4
Walther Ajax4Walther Ajax4
Walther Ajax4
 
Kevin Ms Web Platform
Kevin Ms Web PlatformKevin Ms Web Platform
Kevin Ms Web Platform
 
Harish Understanding Aspnet
Harish Understanding AspnetHarish Understanding Aspnet
Harish Understanding Aspnet
 
Walther Mvc
Walther MvcWalther Mvc
Walther Mvc
 
Harish Aspnet Dynamic Data
Harish Aspnet Dynamic DataHarish Aspnet Dynamic Data
Harish Aspnet Dynamic Data
 
Harish Aspnet Deployment
Harish Aspnet DeploymentHarish Aspnet Deployment
Harish Aspnet Deployment
 
Whats New In Sl3
Whats New In Sl3Whats New In Sl3
Whats New In Sl3
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
 
Advanced Silverlight
Advanced SilverlightAdvanced Silverlight
Advanced Silverlight
 
Netcf Gc
Netcf GcNetcf Gc
Netcf Gc
 
Occasionally Connected Systems
Occasionally Connected SystemsOccasionally Connected Systems
Occasionally Connected Systems
 
Developing Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And ServicesDeveloping Php Applications Using Microsoft Software And Services
Developing Php Applications Using Microsoft Software And Services
 
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
Build Mission Critical Applications On The Microsoft Platform Using Eclipse J...
 
J Query The Write Less Do More Javascript Library
J Query   The Write Less Do More Javascript LibraryJ Query   The Write Less Do More Javascript Library
J Query The Write Less Do More Javascript Library
 
Ms Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My SqlMs Sql Business Inteligence With My Sql
Ms Sql Business Inteligence With My Sql
 
Windows 7 For Developers
Windows 7 For DevelopersWindows 7 For Developers
Windows 7 For Developers
 
Ux For Developers
Ux For DevelopersUx For Developers
Ux For Developers
 
A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8A Lap Around Internet Explorer 8
A Lap Around Internet Explorer 8
 
App Arch Guide (Dons)
App Arch Guide (Dons)App Arch Guide (Dons)
App Arch Guide (Dons)
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 

What Is New In Wpf 3.5 Sp1

  • 1.
  • 2. Pandurang Nayak Client Platform Evangelist Microsoft Corporation
  • 3. .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
  • 4. .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
  • 5. WPF in a nutshell Rich Windows Applications Great Architecture + Great Graphics Rapid Prototyping 2D, 3D, Vector, Document Flow, Layouts, Composition, etc.
  • 6. 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
  • 7. .NET Client Profile ~25MB Client-only Subset of .NET Fx Includes WinForms, WPF, LINQ, etc. Excludes ASP.NET, WCF, etc. 200KB fully customizable Bootstrapper
  • 8. .NET Framework Client Profile Using the Client Profile Deployment option in Visual Studio 2008 SP1
  • 9. 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
  • 10. 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
  • 11. Graphics Enhancements Interactive 2D on 3D Pixel Shader Effects
  • 12. 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
  • 13. 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
  • 14. New Controls Web Browser, Ribbon and DataGrid
  • 15. 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
  • 16. 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)
  • 17. 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
  • 18. Perf Tools Snoop Use to understand the size of the app Visual tree Useful to detect Virtualization related issues & large app trees
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. Perf Tools - Perforator
  • 23. 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
  • 24. Perf Tools - Visual Profiler
  • 25. 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
  • 27. 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
  • 28. Contact Blog Address www.thinkingMS.com/pandurang Email Address pandurang.nayak@microsoft.com
  • 29.
  • 30.
  • 31. © 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.