Blog - Title

VS2010: On Triangles and Performance

VS2010: On Triangles and Performance

  • Comments 34

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!
  • Jason Zander, the Visual Studio general manager, just posted a follow up to his post regarding the new

  • 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.

  • Thank you for listening and removing the triangles.  The +/- glyphs really do look much cleaner and it makes a big difference.

    Are the triangles also removed from the other places they crept into e.g. the solution explorer?  It would be nice to have consistency across the board.

    I've also noticed on some recent screencasts that the expand/collapse glyphs fade out of view when the cursor leaves the window a la the maddening fading tree view "feature" introduced in Vista.  Again, just because Vista jumped off the cliff of insanity, does not mean it's a good idea to follow it over the edge.  Hiding information that could once be seen at a glance is a real productivity drain.

    As for the new outlining features, it's great that you guys have taken the time to think about these and they look like they're going to be really handy.  I especially like the ability to collapse a region from any point just by clicking the margin :-)

    Two other minor points from the screenshot:

    * Why is the top toolbar so tall?  First impressions are important and you probably don't want the first thing users say when they load up VS2010 to be "ugggg!".

    * Looks like there's an extra line at the end of the collapsed region preview popup, hope that's on the cards for being fixed.

    Overall things are looking good, can't wait to get hold of the upcoming beta and try out all the new features :-)

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

  • 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.

  • 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?

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

  • 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.

  • It would be good to have syntax colored code in those tooltips when you hover over ellipsis.

  • Thank you for submitting this cool story - Trackback from DotNetShoutout

  • 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.

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

  • What's with the small screenshots? Is it meant to hide WPF blur?

  • 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

  • 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.

Page 1 of 3 (34 items) 123