Current version

v1.10.4 (stable)


Main page
Archived news
Plugin SDK
Knowledge base
Contact info
Other projects



01 Dec - 31 Dec 2013
01 Oct - 31 Oct 2013
01 Aug - 31 Aug 2013
01 May - 31 May 2013
01 Mar - 31 Mar 2013
01 Feb - 29 Feb 2013
01 Dec - 31 Dec 2012
01 Nov - 30 Nov 2012
01 Oct - 31 Oct 2012
01 Sep - 30 Sep 2012
01 Aug - 31 Aug 2012
01 June - 30 June 2012
01 May - 31 May 2012
01 Apr - 30 Apr 2012
01 Dec - 31 Dec 2011
01 Nov - 30 Nov 2011
01 Oct - 31 Oct 2011
01 Sep - 30 Sep 2011
01 Aug - 31 Aug 2011
01 Jul - 31 Jul 2011
01 June - 30 June 2011
01 May - 31 May 2011
01 Apr - 30 Apr 2011
01 Mar - 31 Mar 2011
01 Feb - 29 Feb 2011
01 Jan - 31 Jan 2011
01 Dec - 31 Dec 2010
01 Nov - 30 Nov 2010
01 Oct - 31 Oct 2010
01 Sep - 30 Sep 2010
01 Aug - 31 Aug 2010
01 Jul - 31 Jul 2010
01 June - 30 June 2010
01 May - 31 May 2010
01 Apr - 30 Apr 2010
01 Mar - 31 Mar 2010
01 Feb - 29 Feb 2010
01 Jan - 31 Jan 2010
01 Dec - 31 Dec 2009
01 Nov - 30 Nov 2009
01 Oct - 31 Oct 2009
01 Sep - 30 Sep 2009
01 Aug - 31 Aug 2009
01 Jul - 31 Jul 2009
01 June - 30 June 2009
01 May - 31 May 2009
01 Apr - 30 Apr 2009
01 Mar - 31 Mar 2009
01 Feb - 29 Feb 2009
01 Jan - 31 Jan 2009
01 Dec - 31 Dec 2008
01 Nov - 30 Nov 2008
01 Oct - 31 Oct 2008
01 Sep - 30 Sep 2008
01 Aug - 31 Aug 2008
01 Jul - 31 Jul 2008
01 June - 30 June 2008
01 May - 31 May 2008
01 Apr - 30 Apr 2008
01 Mar - 31 Mar 2008
01 Feb - 29 Feb 2008
01 Jan - 31 Jan 2008
01 Dec - 31 Dec 2007
01 Nov - 30 Nov 2007
01 Oct - 31 Oct 2007
01 Sep - 30 Sep 2007
01 Aug - 31 Aug 2007
01 Jul - 31 Jul 2007
01 June - 30 June 2007
01 May - 31 May 2007
01 Apr - 30 Apr 2007
01 Mar - 31 Mar 2007
01 Feb - 29 Feb 2007
01 Jan - 31 Jan 2007
01 Dec - 31 Dec 2006
01 Nov - 30 Nov 2006
01 Oct - 31 Oct 2006
01 Sep - 30 Sep 2006
01 Aug - 31 Aug 2006
01 Jul - 31 Jul 2006
01 June - 30 June 2006
01 May - 31 May 2006
01 Apr - 30 Apr 2006
01 Mar - 31 Mar 2006
01 Feb - 29 Feb 2006
01 Jan - 31 Jan 2006
01 Dec - 31 Dec 2005
01 Nov - 30 Nov 2005
01 Oct - 31 Oct 2005
01 Sep - 30 Sep 2005
01 Aug - 31 Aug 2005
01 Jul - 31 Jul 2005
01 June - 30 June 2005
01 May - 31 May 2005
01 Apr - 30 Apr 2005
01 Mar - 31 Mar 2005
01 Feb - 29 Feb 2005
01 Jan - 31 Jan 2005
01 Dec - 31 Dec 2004
01 Nov - 30 Nov 2004
01 Oct - 31 Oct 2004
01 Sep - 30 Sep 2004
01 Aug - 31 Aug 2004


Powered by Pivot  
XML: RSS feed 
XML: Atom feed 

§ VS2010 CTP, first impressions

I downloaded and tried out the Visual Studio 2010 CTP a couple of days ago. My experience from the VS2005 and VS2008 betas is that there's a narrow window in time where you can actually get anything fixed, since the CTPs are already released so late in the cycle and a project like Visual Studio has a ton of inertia. The new mantra for VS2010 is apparently "10 is the new 6," which is a reference to the fact that a lot of people still consider Visual C++ 6.0 to be superior to the subsequent releases, including me.

How is it, then?

VS2010 CTP comes as a rather large virtual hard drive (VHD) for Virtual PC 2007 SP1, approximately 26GB. This is because it includes a full Windows Server 2008 evaluation installation as well as a full VS2010 Team Edition CTP install. I ran it on a laptop with 2GB of memory and gave the VM 1GB, which I thought would be sufficient just to try it out. Oh no. The VM absolutely crawled, even before I launched VS2010. I ended up having to disable a bunch of unnecessary services, most notably SQL Server, just to stop the swap death. That got the memory usage of the system down by about 200-300MB, which helped things considerably. It's safe to say, though, that any performance conclusions drawn from this CTP should be taken with a grain of salt... or perhaps a salt lick.

Once I launched VS2010, I landed in fairly familiar territory. VS2010... looks just like VS2005/08. In fact, the only visual difference I noticed in my admittedly spartan use of the IDE was the fancy gradients now used for selected text. After my initial gagging at the VS2005 interface, I've learned not to worry too much about visual changes unless they look like usability or performance nightmares. What bothers me, though, is the inconsistency. For some reason, in VS2008, the menus were changed from a reasonable looking translucent highlight to a garish flat dark blue rounded rect that looks like someone broke the drawing code. This clashes with the new editor, which it looks like all of the visual components are drawn with different toolkits, which I guess they probably are. Personally, I'd like a little more emphasis on consistency and usability, and a little less on just trying to make things look different.

As you might expect, my main test was to build VirtualDub 1.8.6. Well, already I could see that Intellisense is still a problem. It took a couple of minutes to run over the code base, during which of course it slowed things down and didn't have a readily available disable function. I then located a member function called init() and selected Go To Declaration... upon which it brought up a list of about five dozen random unrelated init() functions throughout my app, like VS2005 often does. Also, I don't know if it's Intellisense or not, but there's a weird performance problem where VS2010 intermittently takes 100% CPU for several seconds at a time. I know the VC++ team has put a lot of work into the new Intellisense... but I'm sad to say that, at least from my perspective, it acts a lot like the old Intellisense.

I have to say some good things about VS2010, though, and IMO, there are two big firsts in this version. First, the VC++ project format seems to be unchanged -- yes, for the first time in a long time, VC++ isn't using a new and incompatible project format, still keeping version 9.0 instead. Second, with only a minor Platform SDK incompatibility that also affects VS2008, VirtualDub 1.8.6 builds out of the box on the VS2010 CTP. There didn't seem to be any breaking compiler changes, or for that matter, any "helpful" settings changes during the project conversion that I had to undo. This went as smoothly as it did partly because I already migrated from MASM to YASM and am thus insulated from the MASM-regression-of-the-release, but I still think that if your code is already ported to VS2005 or VS2008, you can likely expect far fewer porting headaches than what we saw in the VC6 to VS2005 time frame.

There are a bunch of exciting features in this CTP which I haven't dug into yet, such as the ability to use downlevel compilers and several C++0x features (most notably "var"). From what I've seen so far, VS2010 already looks to be a better value upgrade than VS2008 was, which barely had any new features at all for C++ programmers. I hope to get some more time to dig into the new toys. I haven't dug into any of the new C# features yet as I don't do a whole lot of C#, but for those of you that do I'm sure there are a ton of goodies there, too.

So... is 10 really the new 6? Well, with apologies to Yahtzee....

NOOOOOOOOOOOOOOO oooooooooooooooooo oooooooooooooooooo ooooooooooooooooooooo oooooooooooooo oooooooooooooo oooooooooooooo oooooooooooooooo oooooooooooooooooo ooooo.

There's definitely a rose colored glasses effect with regard to VC6 nostalgia. Several months ago I backported one of the 1.8.x releases of VirtualDub to VC6, and there were definitely some parts of VC6 that sucked, chief of which was the compiler. The VC6 compiler was awful compared to newer versions -- about half of the template code you tried to write was either miscompiled or didn't compile, and the lack of correct for scoping sucked. The STL was also in just as bad a shape, with terrible hacks like _Charalloc(), and if you made any mistakes the compiler spewed more word-wrapped angle brackets than a reply email from Microsoft Outlook. Intellisense, for all its warts in VS2005, is in much worse shape in VC6, with half the features not working at all unless you generate browse information, and major omissions like no autocomplete for enums. And let's not forget the non-resizable dialogs with teeny edit boxes. And the debugger that leaked astounding amounts of memory if you hooked up system symbols. And so on.

What were the good parts of VC6, then? Well, the main difference is that the IDE was fast. And it took less memory. And it didn't have long random pauses in the seconds to minutes range that started with VS2002 and still continue through VS2008. And its resource editor didn't use goofy property grids with properties in random order and with combo boxes for boolean parameters. And its project system was smart enough to realize that if a static library fails to build that it's useless to try linking it into an .exe. And so on. And I'm sorry to say that VS2010 just doesn't cut it just yet to be called the New 6. The UI is still miles away, and although it's very hard to gauge the performance through a VM with unaccelerated video, it still doesn't feel as snappy. Even though I've used VC6 for years, the last time I fired it up, I was still wowed by how fast it runs on modern hardware. I just don't have that feeling with VS2010, nor do I feel like the feature set is improved up to make up for the performance delta.

I know that the VS2010 team has made a lot of improvements internally to improve performance, but I guess what I'm trying to say is: this still ain't VC6. I will say that I don't think VS2010 has to attain the split-second speed of VC6's UI in order to be a substantial improvement, but all of the long delays and background churn have got to go, and the UI team still needs to tighten up the interface. I do think that VS2010 has a decent chance to be a significant improvement over VS2008, but "10 is the new 6"? No, sorry. There's still a long way to go.


Comments posted:

As someone that still uses VC6, I couldn't agree more (VC6 + WndTabs + Visual Assist X is still king in my book)

asf - 04 11 08 - 03:01

Personally I'd settle for the Find dialog not taking a quarter second to come up. It's insane that the most basic dialog which everyone uses constantly is so slow that you can see it draw, and if I hit ^F and start typing, it consistently loses input. If they havn't even fixed that, any claims of improving performance are a joke.

Glenn Maynard - 04 11 08 - 03:13

looks like the new visual interface will be written in wpf (meaning that it was not included in the ctp). that will surely add another 2s to the startup time.

it looks clean and clear. i really really hope that the text will be as sharp in .net 4 as they have announced. wpf text is currently unreadable.

Tobias Rieper - 04 11 08 - 12:07

@Glenn Maynard:
I especially like how in VS2005 bringing up the Find dialog causes the Solution Explorer to redraw.

@Tobias Rieper:
Ugh... so WPF went antialiasing without hinting, which would certainly explain why small text turns to mush. The ClearType examples through that link are better, but you can still see classic effects such as different stems having different sharpness. That having been said, I didn't notice it myself, so either they haven't implemented it yet or it isn't that bad.

On that front, what's going to be interesting IMO is Direct2D vs. WPF. Had D2D been introduced earlier, WPF could have been written on top of it, and everything would have been good... but now they're parallel APIs, which means a lot of duplication. IMO, D2D is on sounder ground as a drawing API since it's an immediate mode API (retained mode graphics APIs historically haven't done well), but WPF also has a substantial UI component that is not present on the native stack yet.

Phaeron - 05 11 08 - 00:24

Just tried it, there is cleartype in the text editor that cannot be turned off (courier new is unreadable to me like that), and the sse intrinsic code generation is unchanged. Could be they are still in the middle of rewriting the optimizer, every bug I reported on connect was ignored with that response.

Gabest - 05 11 08 - 03:45

people take a look at shape. i make this because i am _fed up_ with everything after 6 getting worse and worse. my benchmark is 6+visual assist. it will not be ready for a long time but u can look now. use XP.


florin - 05 11 08 - 05:13

Suggest filing a bug ASAP... there's probably only a narrow window in which you might be able to convince them otherwise.

Um, besides not having explained what "shape" is, your website is inscrutable, at least on Firefox. Might want to actually explain why someone might want to download it and change your website so it's not a puzzle....

Phaeron - 06 11 08 - 00:28

Wanted to, but it was already the latest bug on the top just posted 2 hours ago, so I just voted ^_^

Gabest - 06 11 08 - 01:39

Phaeron: i think i said enough for people to conclude that it's 'something like'. my sense of aesthetics is not American so i favor sensation over the explicit (i see that what you say is adaptive and well meant but it is not my choice).

florin - 06 11 08 - 06:17

>Personally I'd settle for the Find dialog not taking a quarter second to come up.
I'd be happy if it at least showed up on the correct monitor.

squid - 06 11 08 - 07:04

From what I read this isn't the final UI. They want to make the interface completely WPF-based like Expression Blend. Maybe that is the reason why it seems so inconsistent in this CTP.

Cipher - 06 11 08 - 12:56

I am sorry for the off-topic, but Avery do you read email these days? Have you got one from me regarding interlace in VirtualDub by any chance? If not please let me know so I resend it.
Each new version of VS sucked more than the previous and when I say sucked, I don't mean only when it comes to functionality and code generation but resorces as well. Why is it that the VS 2008 insists on installing SQL server even though I deselected all SQL and database related features? Why is it that C++ won't work without the Microsoft Visual Studio Web Authoring Component? Why is .Net 3.5 slammed down my throat? Etc, etc...

Igor Levicki (link) - 07 11 08 - 21:14

Sorry, but I'm really far behind on my email, probably about three weeks or so. I did get your email. Part of the reason I've been doing random things is that I've been working late a lot, so I don't have a lot of chances to dig into things that are meaty. I tend to put off email because it's full of spam (about 30:1) and less convenient for me to fire one-off replies. I've also had to deal with annoyances like regulars butting heads on my forum. #*&$#$(

Phaeron - 08 11 08 - 01:12

No problem, I just wanted to know if you are interested in that deinterlace idea or not.

Igor Levicki (link) - 10 11 08 - 15:09

For any big project with visual studio, you have to disable the intellisense by creating a folder named the same thing as the intellisense file (*projectname*.ncb). Buy Visual Assist, it mostly works and is an ok replacement, it chokes on crazy macros and templates also, but anything intellisense would be able to figure out it can too. The giant slow downs you see is intellisense, no question about it.

Matthew Helbig - 21 05 09 - 13:57

Comment form

Please keep comments on-topic for this entry. If you have unrelated comments about VirtualDub, the forum is a better place to post them.
Remember personal info?

Email (Optional):
Your email address is only revealed to the blog owner and is not shown to the public.
URL (Optional):
Comment: /

An authentication dialog may appear when you click Post Comment. Simply type in "post" as the user and "now" as the password. I have had to do this to stop automated comment spam.

Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.