Freigeben über


VS2010: On Triangles and Performance

In February I blogged about the new look for VS2010.  You gave us a huge amount of feedback which I really appreciate.  I wanted to follow up on a couple of the themes that popped:  the outlining mode with triangles and performance.

Outlining
You spoke loudly and clearly that you didn’t like the triangle outline mode.  Based on this feedback, the team actually changed this feature in mid-flight during Beta 1 to reflect your feedback:  no more triangles!!  Here are some updated screen shots:

image

Hovering the cursor anywhere on the line highlights that region, double clicking the line will collapse it:

image

Once collapsed you can hover over the […] region to see a preview of the underlying buffer:

image

The region can then be expanded again either by clicking on the ellipses or the [+].

I want to thank everyone for weighing in on the new design.  Your feedback directly led to changes in the product and as a result you’ll never see the original design in a public build.

Performance
Performance is another area you called out and something I care passionately about myself.  In the interest of transparency I want to provide some updates about how we are doing and where we are headed.

First, we measure a *lot* of scenarios both with the core of the VS Pro experience but also with TFS server operations.  We have literally hundreds of goals we track in the product.  When a developer checks new code into the tree, it is also measured against a set of those goals to check for regressions (Regression Prevention System or RPS).  As an example of these scenarios, a typical end to end test for VS Pro might include:

  • Start VS & load solution
  • Scroll down in a large file
  • Type a new method
  • Show Add Reference dialog
  • Add new form
  • Show toolbox
  • Add new control to form
  • Add event handler to control
  • Open existing form
  • Build/rebuild
  • Step into (F11 10 times)
  • Stop debugging
  • Close VS (w/solution open)

This is just an example but essentially I want to take a very typical daily usage of the tool and make sure it works really well.  In addition to raw times for every step, we also do a version where we weight some of the steps as more important.  For example you may only start VS once a day (or less) but you are likely to be typing all day long.

We run these scenarios on a variety of hardware, multiple versions of Windows, using our primary languages (C#, VB, C++, etc), using our presentation technologies (XAML, HTML, Windows Forms), etc.

For Beta 1 we are making progress on performance but it is not yet where I want it to be.  For example the VB / Windows Forms application is actually doing pretty well while the VB / ASP.NET application is slower than VS2008 (similar with C#).

I’m committed to having the new innovations in VS2010 (editor, WPF, etc) while still maintaining a fast environment.  I’ve asked Rico Mariani to dedicate a significant amount of time working on performance for this release to help make sure we get there.

Beta 1
We are getting *very* close to releasing Beta 1.  Stay tuned here for the formal announce of the release and keep sending us your feedback!

Comments

  • Anonymous
    May 14, 2009
    Jason Zander, the Visual Studio general manager, just posted a follow up to his post regarding the new

  • Anonymous
    May 14, 2009
    Please, also consider the following scenario during your test: Open a solution which is under source control (TFS) Try to add a new C# file into project which is not checked out VS automatically get the latest version of a project A server version of a project is newer that ours. VS asks us would we like to reload a project. We say "yes". A prjoect unload and than load again. I experienced VS very significant performance degradation. Often VS continue consume CPU after projects are reloaded without any visible reason.

  • Anonymous
    May 14, 2009
    The comment has been removed

  • Anonymous
    May 14, 2009
    Well if JasonZ can blog about it , I suppose that means I can too. :) He talks about some changes in

  • Anonymous
    May 14, 2009
    Shrike - we do track exactly the scenario you describe.  in fact one place we've improved in VS2010 is get speeds. Dan - one of our goals is to be a well behaved Windows application including following the themes. you will see the same outlining mode for things like tree views, but we made the changes to the editor.

  • Anonymous
    May 14, 2009
    Not directly related to the post, but what about Edit & Continue? Since the release of C# 3.0 and LINQ, the feature has become almost useless. It simply don't work in classes containing LINQ queries, that is, everywhere. Are there plans to make it work in more scenarios?

  • Anonymous
    May 14, 2009
    I totally agree with Yaakov Davis. Also Edit and Continue doesn't work when compiling to x64. Hope that get fixes too.

  • Anonymous
    May 14, 2009
    The biggest problem I face is that if a .cs file gets over about 1000 lines, it starts chugging and taking forever to edit anything. This is common when dealing with Windows Forms because of all of the events etc. on a standard form, so re factoring isn't an option.

  • Anonymous
    May 14, 2009
    The comment has been removed

  • Anonymous
    May 14, 2009
    Thank you for submitting this cool story - Trackback from DotNetShoutout

  • Anonymous
    May 14, 2009
    And still you don't address the number of comments you got in the previous post regarding the Ribbon. Have you used VS, do you not notice how many menus and toolbars there are? With this many; the menu/toolbar metaphore is impractical, even if you don't want to use the ribbon you still need to come up with a better solution than almost 40 toolbars and hundreds of commands littered on the menu.

  • Anonymous
    May 14, 2009
    Good to know that Rico's on the performance case. It's always nice when a new version runs faster than the old one.

  • Anonymous
    May 14, 2009
    What's with the small screenshots? Is it meant to hide WPF blur?

  • Anonymous
    May 14, 2009
    Yaakov/Enrico - I've passed on your feedback to the debugger and langauge teams James - scaling to large text files is a performance scenario, I'll make sure your scenario is on the list Huseyin - thanks for the suggestion Des - we've debated Ribbons repeatedly in planning for VS2010.  They are not on our plan of record for this release, sorry Mark - I'll tell him you said so :) Robert - not trying to hide anything, I'm using Live Writer for my blog and I've found the default column size for my format clips to the right.  the beta is coming out soon so give it a shot and you'll be able to load it up on multiple 20" monitors with the new tear off window support

  • Anonymous
    May 14, 2009
    In VC++, when having a property sheet system, after  reordering macros or adding a new one, hitting "Apply" in the property pages dialog sometimes takes  a few (tens) of seconds.

  • Anonymous
    May 14, 2009
    Hi Jason, 2 Thumbs-up for good work! I am glad to see that your team has taken care of many suggestions but I still don’t see any work being done to implement all time great feature of classic VS-6 (VB 6 IDE) “procedure view” and “full module view” option on bottom of the editor. “Procedure view” helps developer to concentrate on a single procedure without having looking at other part of the code. This is very imp from developers point of view when criticle changes / debuggins is done. I request you to pl pl pl bring back the classic feature. Hitesh Davey Chennai - INDIA

  • Anonymous
    May 15, 2009
    Hi Jason, Where is the most requested RIBBON? I think there were a lot of comments about adding ribbon to VS. But you didn't added that? Why? R there any plans to add this UI ...

  • Anonymous
    May 15, 2009
    C#/VS2010 Null is Not Empty VS2010: On Triangles and Performance - It sure looks like the very soon Beta 1 will exhibit some great work on Outlining and Performance Parallel Tasks - new Visual Studio 2010 debugger window ASP.NET Tip #61: Did you know...How

  • Anonymous
    May 15, 2009
    > Hi Jason, Where is the most requested RIBBON? I think there were a lot of comments about adding ribbon to VS. But you didn't added that? Why? R there any plans to add this UI ... I sure hope not, the ribbon is a good UI for office, not for VS imho. There's really no need for a ribbon, it occupies too much space and, besides VS users use shortcuts allot more than clicking buttons on a menu ...

  • Anonymous
    May 15, 2009
    >In VC++, when having a property sheet system, after  reordering macros or adding a new one, hitting "Apply" in the property pages dialog sometimes takes  a few (tens) of seconds. Hi Boris, Thanks for sharing the feedback with us. We wanted to clarify if this is the behavior that you are experiencing is in VS2010 or VS2008. It does seem excessive that it takes 10 seconds to apply the settings. Does your property sheet have nested property sheet? We tried to repro the scenario in-house however on a simple project both for VS2010 and VS2008 and were not able to directly reproduce the behavior. We would definitely like to debug and resolve the issue. Please feel free to contact me at amitmo at microsoft dot com and I would be glad to help. Thanks, Amit Mohindra Program Manager Visual C++ Team

  • Anonymous
    May 16, 2009
    > I sure hope not, the ribbon is a good UI for office, not for VS imho. There's really no need for a ribbon, it occupies too much space and, besides VS users use shortcuts allot more than clicking buttons on a menu ... Whit this many commands and menus in VS, its not feasible to stay glued with the old fashioned menus. Ribbon provides with the ease of discovery of functions. If you need more space, can't you autohide the ribbon in office 2007? (Or you can buy more place in Mars!)

  • Anonymous
    May 16, 2009
    I actually liked the triangles, will there be the ability to turn this on in the final version? Steve

  • Anonymous
    May 16, 2009
    The comment has been removed

  • Anonymous
    May 16, 2009
    What do you mean by a FUTURE VERSION?  Either Beta 2, RTM, RC of VS 2010 or VS 2011 VS 2012 whichever is nex? Thanks

  • Anonymous
    May 18, 2009
    Visual Studio 2010 Beta 1 Available Today

  • Anonymous
    May 18, 2009
    Looking at the pics I assume VS 2010 will open new tabs to the right of currently opened ones, not to the left as it is in VS 2005 and 2008 (which was stupid and counter-intuitive, IMHO). Am I right? :) Or not? :( What about handling of opened tabbed documents? I would like them to appear in the list in the order I opened them, and that order is preserved when I go to the currently hidden tab (like in IE), and not that tabs are listed alphabetically and hidden tab jumps to the top when I open it (other stupid features of VS 2005/8). Or go back to how it was in VS 2003. :)

  • Anonymous
    May 18, 2009
    The comment has been removed

  • Anonymous
    May 18, 2009
    It's not available today. It's available TOMORROW. I mean my clock is 12 hours ahead USA.

  • Anonymous
    May 19, 2009
    I musta missed something, because there is no (enabled) option to install the MSDN documentation, nor is there a link on the download page. Kind of a pain on my netbook, as it's detached from the network at work, and I'm doing some eval on the new framework between work builds.

  • Anonymous
    May 19, 2009
    Hey, we released Visual Studio 2010 Beta 1. JasonZ has a great post with piles of details and a metric

  • Anonymous
    May 20, 2009
    Yikes! Just loading the VS2010 IDE and an empty console app project takes ~200 MB of RAM vs. 50 MB in VS2008! I remember not so long ago when my entire hard-drive was 200 MB. What the heck are you using all that memory for?!

  • Anonymous
    May 20, 2009
    It’s official: Visual Studio 2010 Beta1 has shipped! Check out this page for the official product information

  • Anonymous
    May 21, 2009
    Stas - VS 2010 Beta opens new tabs to the left of currently opened ones as it is in VS 2008 and hidden tab also jumps to the left corner when you select it.

  • Anonymous
    May 25, 2009
    Visual Studio 2010 (and .Net Framework 4.0) Beta 1