Introducing the Third Major Release of Windows Presentation Foundation

WPF_Logo Today I'm excited to announce the public beta availability of a major new release of WPF. Since we shipped .NET Framework 3.5 late last year, the team has been hard at work at a new release that adds many supplemental features, fixes a good number of bugs, offers many performance optimizations, and includes a new streamlined installer for a subset profile of the .NET Framework optimized for client scenarios. This new release will ship as part of .NET Framework 3.5 Service Pack 1 later this summer; the beta release is an early preview of these enhancements. In this blog post, I want to provide a broad overview of the new features in this release, focusing on WPF.

 Download links:

It's been interesting over the last year or two to see the balance between business and consumer applications developed using WPF. Our early expectation was that WPF would be used primarily for consumer software: the assumption was that animation, rich media, flow documents, 2D and 3D graphics etc. would be primarily of interest to those kinds of applications. In fact, it's been surprising how many enterprise applications have taken advantage of it: architectural patterns such as the data templating and binding model and the separation of UI from code have turned out to be even more compelling reasons to adopt WPF in many cases.

Although Windows Vista includes WPF out of the box, we recognize the need to provide a lightweight way to deploy the platform to desktops running Windows XP. If you're distributing a consumer application over the Internet, it's key to have a setup package that downloads and installs quickly, while providing the user good feedback on its progress. We've put the .NET Framework on a diet, and we've now got a solution for those kinds of applications. As well as the full .NET Framework, we now have a Client Profile that weighs in at about 25MB (roughly the same size as Acrobat Reader), installs in a couple of minutes, and provides a customizable install experience.

How did we reduce the size of the .NET Framework? We removed many assemblies that aren't typically used in client application scenarios (it would be an esoteric client application that needed ASP.NET to execute locally, for instance). The file list was selected over the past year through profiling of numerous client applications; at a high level, it includes the core CLR and base class libraries, WPF, Windows Forms and WCF. We also took advantage of some new compression technology to shrink the package considerably. You can still target the full .NET Framework, of course - this is just an additional option. And it's important to note that the actual shipping assemblies are identical in both the Client Profile and the .NET Framework as a whole.

In Visual Studio 2008 SP1 (also in beta today), you can target the Client Profile through a checkbox in the setup project template. You'll of course get a warning during the build process if you have this option set and your project has a dependency on assemblies missing from the Client Profile. When you compile the application, you will have the option to package the Client Profile installer and your application together into a seamless, unified installer for the best possible experience. We provide a tiny (~200KB) bootstrapper package that keeps to an absolute minimum the time between an end-user clicking the installer and seeing results. We even do a full ngen on the .NET Framework files asynchronously during the install process, so that nothing competing with the startup of your application when it runs for the first time. Despite all this, you should expect to see the full setup complete in a matter of just a few minutes.

How does an application know if it has enough of the .NET Framework to execute? I'm glad you asked that question! Only applications that have been compiled to target the Client Profile will contain the special manifest that indicates that they are supported on machines with just the subset. If you try and execute an application that isn't appropriately marked, the Client Profile will pop up a dialog that will help the end-user update to the full framework. It's also important to note that the Client Profile is fully compatible with ClickOnce.

For end-users who have opted into Windows Update, the .NET Framework Client Profile will be upgraded to the full .NET Framework through a background drizzle process so that applications that target the full framework will be able to take advantage of the increased number of people with WPF installed on their machines.

Lastly, shortly after Visual Studio 2008 SP1 ships, we'll be releasing an add-in that will provide developers with the ability to completely customize the look and feel Client Profile installer - changing background graphics, etc. We're also working with third-party installers such as InstallShield to build Client Profile support into their setup packaging technologies.

One other deployment feature unrelated to the Client Profile - we've slightly loosened up the policy for managed executables run from a network share to allow them to run with full trust. This is a popularly requested change, as Brad Abrams' informal poll testified.

The shipping .NET Framework 3.5 included a few powerful enhancements to the WPF graphics engine; in particular, the UIElement3D and Viewport2DVisual3D classes that provide support for fully interactive 2D elements on 3D surfaces. We also made substantial performance improvements to layered windows and fixed occasional animation stuttering issues. But we've gone way further with this release, adding a number of heavily-requested graphics features.

clip_image001As demonstrated at MIX08, 3.5 SP1 adds support for HLSL shaders with the ShaderEffect class (see image to the right), allowing an almost unlimited range of visual effects to be applied to WPF content. Shaders are implemented entirely on the GPU (if you have Pixel Shader 2.0 support in hardware), or otherwise with an efficient software implementation - this means you can add wild effects like flares, lensing, distortions or blurs without adding a significant burden to the CPU.

You can target the properties of a shader effect with data binding or animation, allowing for even richer effects, and because WPF is a fully-integrated platform, any controls on which a shader effect is applied remain fully interactive.

If that wasn't sufficient, by the final release of .NET 3.5 SP1, we'll have support for even deeper DirectX integration. Essentially, any Direct3D surface can be used as a brush for WPF content through the new D3DImage class, enabling you to overlay or blend Direct3D content interchangeably with WPF content. You can use multiple D3DImage classes simultaneously, and because they are still rendered by DirectX, there is no major performance impact. You can even alpha-blend Direct3D content. If that wasn't enough, you can even take a Direct3D surface and apply it as a texture within a WPF 3D scene - mind-blowing! More information on these features is available at Greg Schechter's blog.

We've got a vastly improved WriteableBitmap class that enables efficient image manipulation. WriteableBitmap provides a bitmap image that is mapped to system memory, allowing you to change the contents and have it automatically render to the screen (taking advantage of the retained mode model in WPF). The original implementation of this class allocated a new bitmap with every frame update, making it pretty slow for most scenarios. The new replacement is fast, synchronized with UI changes and has constant memory usage, enabling tons of new scenarios in WPF - for instance, paint programs, fractal renderers, and software webcam output.

We've made some minor granularity improvements to the tiering APIs, for instance, enabling you to verify whether pixel shaders are supported in hardware. We've added nearest neighbor image sampling as a bitmap scaling mode. Last, but not least, we've finally fixed the most common bitmap effects in WPF - no longer are blur and drop shadow software-rendered: if you use the new blur and drop shadow API introduced in SP1, they'll be fully accelerated using the GPU. The legacy blur and drop shadow APIs have also been hardware-accelerated, providing immediate, huge improvements to performance for applications which make use of those capabilities.

As Ian Ellison-Taylor, the General Manager for WPF, is fond of saying, we're never done with performance. As with any high-end graphics platform, there are always optimizations that can be made. In this release, we've made major strides forward with performance and memory usage of WPF applications across the board. You'll notice these improvements regardless of whether you're targeting WPF 3.5 SP1 or an older version.

"Cold" startup of an application is one area where people are particularly sensitive to performance. There's a lot to be done at this point in time: assemblies need to be read in from disk, their manifests need to be checked for strong name verification, and any dependencies need to be loaded and checked also. As an application author, you can have a substantial impact on the startup of your application by being sensitive to this: you should load only what you need to display the initial screen and delay the load of other assemblies until they're needed. If you need Windows Forms to display a couple of forms buried within your application, don't put a dependency in the executable that's first loaded - it'll add a couple of seconds to your application startup. We've gone through the WPF assemblies and done a lot of optimization work to ensure that we get your first pixels on-screen as quickly as possible: by RTM, we think cold startup will be improved by up to 45% depending on application size and scenario. In general, the bigger the application, the more gain you'll see.

image For XBAPs, we've switched to HTML for the initial loading screen, so that you immediately see progress when you click on an XBAP rather than being greeted with a rather confusing blank browser page for the first couple of seconds. There are also some additional cold-start improvements on top of those mentioned above for XBAP scenarios which give an additional 10% boost.

By RTM, we'll also have a "splash screen" support in Visual Studio 2008 SP1 to minimize the work in building applications that display an initial screen immediately, having a big impact on the perception of an application's responsiveness and reducing the risk of an end-user accidentally firing up two instances. You can either designate an image as a splash screen by marking a bitmap resource with a build action of SplashScreen, or supply your own fully customizable class based on our template that is loaded prior to the Application object during startup.

It's not just cold-start scenarios where we've been hard at work optimizing WPF. We now have container recycling for controls based on the VirtualizingStackPanel class (such as ListBox, ListView and TreeView). This is an opt-in feature (you have to set the VirtualizationMode attached property to enable it) due to some subtle semantic changes to these controls' behavior, but it can provide up to a 40% scroll performance improvement by reusing the UI elements that go out of view during scrolling wherever possible. We also now offer deferred scrolling as an option (similar to the way the Outlook inbox scrollbar works).

There are lots of other control virtualization optimizations too: TreeView now offers virtualization (perfect for an Explorer-like scenario), and columns can now be virtualized, making it much easier to build an efficient DataGrid control. And we've identified and fixed a few other performance "cliffs": improving some text rendering and frequent z-order manipulation issues.

New Controls
It's been a long time in coming, but we're finally adding the much-requested DataGrid control to WPF. This will ship out-of-band at first, just after we release 3.5 SP1; it will take advantage of the various virtualizing optimizations mentioned above so it should be relatively efficient, and of course, like all WPF controls, it will be possible to completely change the look and feel of the control through templates. We made a number of API enhancements to better support the DataGrid scenario: multi-selectors, null value auto-conversion, transactional item editing, alternating row support, item-level validation - and of course, all these are available to third-parties to improve their own high-end data grid controls.

Another oft-requested control is the Office Ribbon, and I'm sure you'll be pleased to know that we're also shipping an implementation of that control, also out-of-band, before the end of the year. The ribbon will be fully implemented in WPF, will be compliant with the UI design guidelines and have an intuitive collection-based API.

The third control does ship in-box with .NET Framework 3.5 SP1, and is a richly-functional WebBrowser control. Since the initial release, WPF has enabled web content to be displayed via the Frame element, but that had a number of limitations: you couldn't interact with the content of the frame programmatically, HTML content could only be hosted from a URL (not from an in-memory stream or string), you couldn't navigate programmatically through the history, and you couldn't interact with any JavaScript on the page. The WebBrowser control offers all those capabilities, enabling much more seamless interoperability between WPF and HTML content. It also provides a great way for WPF to host Silverlight content - just point it at the HTML file that hosts the Silverlight .XAP file. One other nice touch: it supports partial-trust mode for use within XBAPs, enabling an XBAP to include an inline frame of HTML content that can be interacted with. 

Other Enhancements
There's a number of other small but useful enhancements in this release that don't really fit under any of the above categories. We now support string formatting for data-bound text: this saves you having to write a class that implements IValueConverter just to do something as simple as formatting a number. We've done some work to both simplify and deepen support for LINQ to XML and LINQ to DataSet for data bound members. Lastly, we've extended our Firefox browser support beyond the XBAP capability in 3.5 by adding native support for ClickOnce (.application files).

The WPF designer in Visual Studio 2008 SP1 has also undergone a major overhaul. It's faster, for starters, and we've done a lot of work to support some of the more esoteric XAML edge cases that previously caused the editor problems. There's now an event tab in the properties tool-window, which delivers parity with Windows Forms for creating and viewing event handlers from the designer. One feature that I know will be particularly appreciated by a few folk who've harangued me over the past few months in our labs is support for XAML refactoring - something that was previously a rather painstaking and menial task. Finally, there's support for BAML runtime debugging, enabling you to catch errors that would otherwise be hard to pin down.

It may be a slightly awkward name, but .NET Framework 3.5 SP1 represents a major new revision of WPF that brings it squarely into the prime-time. I genuinely believe we've nailed all the most common criticisms of WPF as a desktop platform with this release: a much better deployment story, some amazing new graphics capabilities, across-the-board performance improvements, the three most commonly-requested controls, and an improved editor experience. When you add all this up together, you can see why this servicing release is such a significant step forward for WPF - it opens up new territory and shows the growing maturity of our strategic next-generation UI platform for Windows.

Right now, SP1 is a beta release; we plan to ship the final version later this summer. As with any beta release, there are always a bunch of caveats relating to quality, and I really want to emphasize those a little more strongly this time round. I do not recommend installing this beta release on your main development machine. Due to some complex build timing issues, this release is incompatible with Silverlight 2 Beta 1; it will, however be compatible with Beta 2 when it ships in a few weeks' time. There's also a glitch we discovered in late testing that can cause Blend to crash; a hotfix is available to the 2.5 preview release that fixes this, and we'll of course have a full solution in place prior to the final release of SP1. Lastly, if you're running Windows Vista, you should install Vista Service Pack 1 prior to installing Visual Studio 2008 SP1 Beta. Hey - if this was done, we'd ship it - that's why we call it a "beta"!

One last thing - although I've majored on the improvements to WPF itself, this service pack also contains enhancements to ASP.NET, ADO.NET, WCF and Team Foundation Server. For more details on these broader changes, Scott Guthrie's blog provides the best overview.

wpfweek So where can you go to find out more about this release? If this blog post isn't enough, you should check out the "week of WPF" that starts today on Channel 9. For seven days in a row, we'll post a series of interviews with the core WPF team, talking and demonstrating the new enhancements in this release. Adam Kinney and I had a lot of fun filming these, and I think you'll enjoy them. In the first interview, I sit down for a chat with Ian Ellison-Taylor and Kevin Gjerstad about the philosophy behind this release and the long-term direction for WPF. Check it out!

Comments (79)

  1. Anonymous says:

    Visual Studio 2008 SP1 e .NET Framework SP1 disponibili

  2. Anonymous says:

    Microsoft has released the beta of Visual Studio 2008 SP1 and the .NET Framework SP1. Each of these releases contains a significant amount of new functionality and bug fixes for developers which will further enhance their experiences with our products.

  3. Anonymous says:

    Winforms Developers Rejoice! Silverlight Developers Rejoice.. The next version of WPF is here, and there is now NO REASON not to use WPF instead of Winforms, and Silverlight 2.0 developers can rejoice because WPF has attained parity with Silverlight controls

  4. rkpatrick says:

    Not that I’m asking for you to divulge future plans for other products (because I already know what the official answer is), but would you say that WPF’s performance has been increased enough to be viable to serve as the foundation for an operating system shell?

  5. BenHayat says:

    Great news Tim, and I’m sure what’s learned in WPF, will help Silverlight in the long run.

    I do have a question. Since Blend is developed in WPF, would you think these new performance and memory optimizations, would also help with the performance of Blend as well?

    If yes, when do you think we can see a faster Blend as the result of these new WPF enhancements?

    Thank you in advance!


  6. Anonymous says:

    Some great improvements here… everyone has been busy by the look of it… so its not all wild parties over there all the time?

  7. Anonymous says:

    Earlier today we shipped a public beta of our upcoming .NET 3.5 SP1 and VS 2008 SP1 releases.  These

  8. Tim Sneath says:

    rkpatrick – there are definitely other considerations beyond just performance here – including the need to run well in ultra-low resource conditions (what happens if the system is so stretched for memory that the garbage collector can’t run?)

    Ben, yes – the performance improvements definitely have a knock-on effect on Expression Blend, since it’s a WPF application. Not _all_ of them are checked into the beta release – you can expect to see further improvements by the time we release, but Blend will automatically benefit as soon as you install SP1 (make sure you install the hotfix mentioned above).

    Brennon, working on WPF _is_ a wild party 🙂


  9. Anonymous says:

    E’ stata rilasciata la beta 1 della SP1 di .NET 3.5. Oltre alla normale correzione di  bug, questa

  10. rkpatrick says:


    Are you saying that how an app handles when memory is running low isn’t performance-related or that it’s just at a lower level than the SP1 improvements cover? (I consider memory usage and definitely GC behavior to be performance-related)

  11. Anonymous says:

    If you keep up with multiple Microsoft technology bloggers, today is one of those days where you’ll see

  12. Anonymous says:

    For those of you looking for it, ScottGu published a blog post earlier today announcing the BETA release

  13. Anonymous says:

    Hidden Gem in .net 3.5 SP1 Announcement

  14. Anonymous says:


    Thanks for the good news on the perf front. Two questions:

    1. Did you fix the screen flicker issue on XP? That DDI lock is a killer with WPF.

    2. Will it work Windows 2000? Without that WPF is DOA.


  15. Tim Sneath says:

    Hi Dejan, could you explain what you mean by "that DDI lock"? I’m not sure what you mean with this first question.

    To the second point, there are _very_ few Windows 2000 machines out there at this point in time. The operating system is eight years old, after all! There are a variety of numbers out there for deployment, but penetration is considerably under 10% and dropping very quickly. Furthermore, those machines that still have Windows 2000 typically have minimal graphical horsepower by today’s standards. Most applications shipping today (including our own) require at least Windows XP to execute, so I think it’s hard to truly believe that WPF is dead-on-arrival without Windows 2000 support.


  16. Anonymous says:

    ScottGu makes it official today. There is a whole lot of stuff here, and I think its safe to say that

  17. Anonymous says:

    Microsoft .NET framework 3.5 Service Pack 1 and Visual Studio 2008 Service Pack 1 now have public BETAs

  18. coesurf says:

    TIm – this article says :

    "Lastly, if you’re running Windows Vista, you should install Vista Service Pack 1 prior to installing Visual Studio 2008 SP1 Beta.”

    The VS 2008 SP1 Beta readme doesn’t mention that.  Are you just saying we need to reinstall VS 2008 SP1 if we later upgrade to Vista SP1?

  19. Anonymous says:

    .NET Framework 3.5 Service Pack 1 Beta is now available!

  20. Anonymous says:

    The beta of WPF 3.5 SP1 is now live. This is way more than a service release, even if it’s named as such.

  21. Anonymous says:

    The SP1 Beta for Visual Studio 2008 and .NET 3.5 has arrived. The beta of service pack holds a few improvements

  22. Anonymous says:

    Igår gjordes en Beta-version av Service Pack 1 för Visual Studio 2008 och .NET 3.5 tillgänglig som bland

  23. Anonymous says:

    Visual Studio 2008 and .NET Framework 3.5 Service Pack 1 (정보) Visual Studio 2008 and .NET Framework 3.5

  24. Anonymous says:

    > Client Profile that weighs in at about 25MB (roughly the same size as Acrobat Reader),


    >How does an application know if it has enough of the .NET Framework to execute? I’m glad you asked that question!


    >If you need Windows Forms to display a couple of forms buried within your application, don’t put a dependency in the > executable that’s first loaded – it’ll add a couple of seconds to your application startup.

    My word..

    >It may be a slightly awkward name, but .NET Framework >3.5 SP1 represents a major new revision of WPF that >brings it squarely into the prime-time.

    Prime-time as in sub-prime mortgage bloatware business?

    This whole shows needs major rework as you guys are looking like repeating the same old mistake and as I said before I’ll believe it when I see it. Right now, slightly ‘higher’ than trivial WPF apps take around 70% of a Quad CPU, minimum of 80MB and that is a plain joke.

    I doubt that will ever change and people surely demonstrate out there that an alternative of 8MB and 7% MAX utilisation is possible, SO WHY BOTHER?

    Productivity for customer-screaming at your WPF app? I doubt it.

  25. Anonymous says:

    The best all-up run-down of all the features (WPF, ASP.NET, WinForms, VS etc.) can as ever be found on

  26. Anonymous says:

    Hi Tim,

    thanks for great news. One question – I don’t know if it’s only me, but on all machines I have Visual Studio 2008 installed on, I experience five-ten seconds long freezes of the whole IDE just before

    "========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped =========="

    message is displayed. This only happens in WPF projects and only if some .xaml file is opened in XAML editor (in source view, don’t know whether this applies to design view too, because I don’t use it). Furthermore, this doesn’t happen everytime, but roughly every third compilation and only if some XAML file is modified using the editor before the compilation.

    Is there a chance this issue been identified and fixed in VS 2008 SP1?

  27. Anonymous says:

    Yesterday I did a brief post about " WPF 3.5 & VS 2008 SP1 Beta ".  Now I follow it

  28. Anonymous says:


    Any news for better support of vertical text ?

    (Note that I am a big fan of WPF, so this vertical stuff is the only place where I have anything "not great" to say).



  29. Anonymous says:


    what a disappointment. still no mention of the features that are really required by Enterprise apps such as a proper implementation of VALIDATION (thats right, look at all the best practice apps like family show and notice that they gloss over validation).

    Still no mention of a MaskedTextbox.

    No improvements in debugging features, we still have to rely on tools such as MoleProject, which are created and donated to the community by people like Josh and Karl. These essential things should be coming from the MotherShip, not codeproject.

  30. Anonymous says:

    Congratulations, this seems to be the real deal finally!

    This is the stuff in there that I was looking for ever since my first contact with Avalon in 2005. Stuff I was desperately missing when we were working on OTTO Store and other projects. It’s like a puzzle that’s coming together.

    For the future I’m hoping, that you will make the API a little bit more approachable.

  31. Anonymous says:

    Post: Approved at: May-13-2008 HUGE update to WPF coming

  32. Anonymous says:

    Beta 1 of SP1 for Visual Studio and .Net Framework is now available for download .  This is a huge

  33. Anonymous says:


    So use another UI library. Delphi is a highly productive environment that meets your criteria.

    But please, please, please leave those of us who enjoy working with WPF alone.

    WPF is not for everybody.

  34. Anonymous says:

    Yesterday the WPF team shipped some major horsepower features in the vastly understated preview Service

  35. Anonymous says:

    Tim, i have little question about MediaElement. Now this control works only with Microsoft Windows Player installed. I hope that in SP1 this problem will be solved.

  36. Anonymous says:

    As ever, Scott Guthrie has the most comprehensive announcement blog about Visual Studio 2008 and .NET

  37. Anonymous says:

    Is a DatePicker/Calendar control going to be added along with the other 3 new controls?  I realize that there are other DatePicker/Calendar controls out there, but it seems very odd that one isn’t provided by default as it is a very standard control.


  38. Anonymous says:

    Visual Studio 2008 Express Edition Service Pack 1 Beta is now available!

  39. Anonymous says:

    Where can I find the list of assemblies that are included in the .NET Framework Client Profile (short of downloading and setting up a VS2008 Beta installation)?  Also, will the Express Editions enforce the Client Profile at build time?

  40. Anonymous says:

    Hi, Tim

    Thank you for the news. However, no matter how great the framework you describe, we still haven’t seen any significant products released and developed by WPF from microsoft or other companies. Yahoo Messenger was my only hope, but after almost 2 years wait, i still can’t see the real product coming out. Maybe you can tell me why.

    A dispointed .Net developer.

    (I moved to ruby on rails development lately)

  41. Anonymous says:

    Talking from experience as I recently worked on a wpf based project, I find Microsoft’s effort on updating their .net releases so frequently is a total shamble for a needless technology that impresses only a minority.

  42. Anonymous says:

    Eerder deze week brachten we een publieke betaversie uit van de komende .NET 3.5 SP1 en VS 2008 SP1.

  43. Anonymous says:

    Anson Li: Re: WPF apps: there’s Expression Blend (mentioned in the blog post above).

  44. Anonymous says:

    How on Earth, after (at least) 5 years of development and 18 months after first official release, you’re announcing the beta version of update which addresses basic performance issues?

    No matter how much you hype the WPF, the plain truth is that it failed in the marketplace in a big way. I bet two years from now we’ll read about WPF 5.0 SP3, which is expected to finally give the adequate performance. The only problem is that it’ll be much too late.

    And please, don’t push stuff like Family.Show as killer apps. This particular program takes above 60 megabytes of memory and it’s not very responsive on quadcore with 2GB of RAM/GF 8600 video card. All it gives back is relatively smooth animation and zooming. The failure of Yahoo to provide working version of their WPF-based IM app is another nail in the coffin.

  45. Anonymous says:

    As you know the .NET Framework 3.5 Service Pack 1 Beta download is now available. There are many improvements

  46. Anonymous says:

    WPF-.NET Framework 3.5 SP1 Release comming soon

  47. Anonymous says:

    Have you tried out .NET 3.5 SP1… If not, try it now. Its got loads of new features for WPF. In fact

  48. Anonymous says:

    "Our early expectation was that WPF would be used primarily for consumer software."

    That sadly remains a dream until Microsoft itself ships some killer consumer apps (read Windows Live and free power apps to Windows users). These will prove MS’s dogfooding capability as far as WPF is concerned, set an example for desktop software developers (which are diminishing by the day) and showcase the power of WPF to end users (which is sadly not being realized today). What is happening today is Microsoft is only providing us with tools, not the apps, no killer apps, no sample apps, no apps to inspire development or demonstrate Vista’s innovations.

  49. Anonymous says:

    What about Calendar/DateTime Picker, Mask and Numeric Up/Down controls?  Those are essential controls, and I wonder how much longer should we wait for those controls?

  50. Anonymous says:

    Okay, I’ll admit it…my definition of shortly sucks. Ten months between blog posts was very much not

  51. Anonymous says:

    I’m sitting here looking at two apps: One is MFC-based and consists of an entire "ribbon" skeleton, complete with an editable and serializable document. The other is WPF based and does… nothing. It houses a less than a dozen standard controls that aren’t even hooked up to anything.

    Guess which one is sucking up TWICE the memory of the other?

    Yeah. The spirit of what you’re attempting with this release is commendable but you have a long, long way to go. The fact that the sample/demo apps that were supposed to sell us on WPF run and consume resources as if they were stress-test cases should have told you something.

    Don’t get me wrong here. As a developer I love you guys. Honest. I just hate to see you wasting time with this thing. There’s no way I will ever authorize or deploy something that runs so poorly. Not for real apps that do real work on real computers.

  52. Anonymous says:

    I know I am a little late on blogging about .NET 3.5 SP1, but here goes… This is a huge release…

  53. Anonymous says:

    Now all you need to learn is how not to blur text and bitmap images when I don’t want to, still looks fugly…

  54. Anonymous says:


    Will the ‘Client Profile’ subset of the .Net 3.5 framework allow you to use Enterprise Libraries 4.0?

  55. Anonymous says:

    With the release of .Net Framework 3.5 late last year, the teams have been working hard on some of the

  56. Anonymous says:

    Visual Studio 2008 Service Pack 1 Beta is now available!

  57. Anonymous says:

    The client profile doesn’t include WindowsFormsIntegration – any chance that might change before release?

  58. Tim Sneath says:


    Good news – we’ve added that to the final Client Profile assembly list. Further details can be found here:

    Best wishes, Tim

  59. Anonymous says:

    One of the topics that regularly crops up in conversations with ISVs and partners is whether to use Windows

  60. Anonymous says:

    The WebBrowser control thats been shipped win SP1 doesn’t allow the inkcanvas to be laid over the control. Neither does it allow transparency to be applied.

    Am I missing something? I noticed that the WebBrowser inherits from an ActiveX host. Does this mean that going forward the WPF WebBrowser would continue to behave the same way as hosting a Forms WebBrowser control though interop?

  61. Anonymous says:

    Can we please have an estimated release date for the datagrid? I’d feel much more comfortable if I can give my boss a better estimate than "just after they release 3.5 SP1". Thankyou

  62. Anonymous says:

    Thanks for the overview – I know this is a big time investments and want you to know many of us appreciate being kept in the loop on what’s there and what’s coming.

    I must say I’m thrilled to hear about the browser control as well as other features including string formatting in a binding.  Lots of them sound right on target.

    In the "futures" category, I’m writing enterprise apps using WPF and am glad to see others posting about holes such as Valditaion (& focus) support.  I still see WPF as the platform that has the potential to succeed in this area where Win32 failed.  I hope that MS will have a small group try to write a real-world data centric app or talk to those of us who are so that some of these core issues get addressed before it’s too late to change them without fear of breaking existing apps.

  63. Anonymous says:

    The user experience can differentiate one ISVs product over another. The user experience is what defines

  64. Anonymous says:

    In response to ‘use Delphi’.

    Well you’re using Delphi and J++. Add some lambdas and poor generics and voila: C#.

    But that’s not the issue, it is a good (not great) language to be productive in. It is touted as all things best yet it is not delivering in performance, user experience, samples, frequenty-updating-UI streaming scenarios, validation, you name it.

    And if productivitiy is 80MB and 70% CPU utilisastion for very SIMPLE scenarios, poor controls, probably yet another bloated text rendering DataGrid, nuts-heavy eventing, then you’ll quickly see on most basic apps that this just doesn’t work and  no one really care what the tech underneath is.

    Experience out there clearly demonstrates that WPF after so many iterations already and years of development is simply a very bad idea in heavily bloated software that will not produce a sophisticated and/or scalable app without requiring a Cray.

    The question is if so many human resources are going down the drain: Why doesn’t it improve beyond cosmetic and still darn lacking performance features even with WPF 9.0 SP19?

    You guessed it: over-engineering in C# and frameworks.

    If the entire show was written in a proper language and native (ie. freeze those features) then you’ll see COMPLEX scenarios take no more than 20MB and 16% Quad core utilisation. Nevermind that even that data is pretty horrific,  but it sure would be an improvement over the current state of affairs.

    Why MS doesn’t do this is just crazy. Vista already messed up and the same bloatware approach is repeated again.

    Perhaps in another 10 years.. by the time which you’ll have another tech thrown at you and scripted browser already performs 20x better than CLR + frameworks. Without 3D sure, but that is besides the point.

    It clearly demonstrates RAM latency is the problem. Too many abstractions and JITTed are a problem. GC is a problem if you point it at everything. GPUs are a moving target and it is a problem (heck CLR JIT is lousy in comparison to Javas, and much slower). XML is heavy. Even the dependency improvement on reflection is demanding and should be fully native.

    And all that not next month, year and decade but TODAY!

    But if you put all that together, yep you’re guessed it:

    Slow, unusuable apps, plenty of blogging on hype and lots of MONEY wasted; for customers, MS, for you and more.

    I suggest you look at the number of succesful WPF apps out there after all this time:

    Result: 1 (and still not as good as Adobe).

  65. Anonymous says:

    The best all-up run-down of all the features (WPF, ASP.NET, WinForms, VS etc.) can be found on Scott

  66. Anonymous says:

    Propecia and male infertility. Propecia. Fertility and propecia. Propecia baldness. Propecia side effects fre. Propecia online uk. Buy propecia.

  67. Anonymous says:

    VS2008 and .Net 3.5 SP1 Beta – Install complete

  68. Anonymous says:

    WPF is an awesome technology – but it has the odd "beauty spot". One example is the absence

  69. Anonymous says:

    NOTE: If you haven’t read the first post in this series, I would encourage you do to that first , or

  70. Anonymous says:

    NOTE: If you haven't read the first post in this series, I would encourage you do to that first

  71. Anonymous says:

    .NET 3.5 SP1 buzz peaked very early at the beta.  At the time I was immersed in Silverlight, so

  72. Anonymous says:

    Have your Visual Studio Installation Media Handy I was prompted for the original installation media both

  73. Anonymous says:

    Per i dev che rientrano oggi dalle vacanze, ecco un aggiornamento importante: il rilascio della SP1 di

  74. Anonymous says:

       With the release of the .NET Framework 3.5 SP1 the WPF suffered the third major release

  75. Anonymous says:

       With the release of the .NET Framework 3.5 SP1 the WPF suffered the third major release

  76. Anonymous says:

    Presentation: What’s new for Presentation Presenter: Mike Ormond ( ) ASP.NET ASP.NET

  77. Anonymous says:

    Presentation: What’s new for Presentation Presenter: Mike Taulty ASP.NET ASP.NET website

  78. Anonymous says:

    ScottGu makes it official today. There is a whole lot of stuff here, and I think its safe to say that this is "stretching" the concept of a Service Pack. Scott’s post has a lot of detail. The big ticket items are the Entity Framework and Astoria

  79. Anonymous says:

    NOTE: If you haven't read the first post in this series, I would encourage you do to that first

Skip to main content