Friday, February 2, 2007

Flicker crusader

Now this post is going to show up in any search on Google for Flickr... Oh well.  I was merely going to suggest you take a look at Steve Trefethen's recent posts about his recent crusade to rid the [B]DS IDE of all flicker.  Some of the things he's recently done have required fixes to the VCL, but a lot of it is merely better management of the existing VCL through correctly setting properties that you can take advantage of now.  He's even posted a small patch you can make to your own copy of the VCL sources.

We're currently working on doing some changes to VCL to better support Windows Vista. With the glass frames, task dialogs, newer file dialogs, etc... At the same time this has also been an opportunity for us to revisit a lot of the core rendering and painting code throughout VCL.  In the coming weeks, some more information about this will begin to emerge... maybe even a screen shot or two ;-).


  1. Buenisimo!

  2. (Lluis) Albert ResearchFebruary 2, 2007 at 4:59 PM

    Only two ? ;-)

    As allways I will stay tunned for them... ;-)

  3. Question: How do you plan to distinguish between VCL and VCL for .NET in future versions of Vista? Will all new VCL developments be on VCL for .NET? Or will you also be focusing on VCL for Win32?

    Secondly.... is there such a thing as a "native Windows Vista API"? I mean... in Windows XP you'll distinguish between native Windows applications (win32) and managed Windows applications (.NET). Is there such a distinction in Windows Vista?

    If so... does Microsoft plan for people to be developing non-managed applications for Windows Vista, or do they plan for all new Windows Vista development to go through the .NET 3.0 frame work?

    In other words... can you "bypass" the .NET framework in Vista, and program "directly" against lower level APIs? Or is that not possible?

    I've been trying to figure this out... but I've not been able to find any straight answer to it.

  4. A lot of postings have stated MS havent used .net half as much as they originally intended in vista. So, yes, there is still a windows API underneath.

  5. Thanks, Liz.

    Still, it could be interesting to know WHICH of the operating system services in Vista that are accessible through lower level APIs and which that are only accessible through the .NET 3.0 runtime.

    I've tried to find some sort of diagram which shows the complete set of Windows Vista operating system services, but the only one I could find was this old drawing from 2003, which I guess isn't really very accurate anymore:

    Does anyone know of any newer drawings, showing the entire updated Windows Vista service architecture?


    two articles covering changes you can make to make your application vista friendly.

  7. Good idea, flicker sounds like a minor thing. But it makes the IDE look tacky and unpolished; it reminds me a little of my university project in its early stages of coding. This is shame baring in mind all the pretty gradients, sculpted edges etc which look great.

  8. The only OS system services in Vista that are only accesible by .Net 3.0 runtime and not by the Windows API are WCF,WPF, And the workflow stuff as far as I am aware. Those are written largely in a Mix of C# & C++/CLI reportedly.

    Even in these cases they are of course built on top of the underlying low level Windows API . Vista introduces some 7000+ new API calls in support of them and other new features. Unmamaged code is FAR from Dead.

    That PDC 2003 diagram is obsolete as I believe it was before the 'Longhorn' code reset they did and decided to redo the OS based on Windows Server 2003 SP1 codebase.

    When this happened amount of .Net code used in the OS product as a whole reduced alot. Rumours were they just couldnt get the performance they needed using a high % of .Net code for OS development and that was one of the main reasons for code reset to Win 2003.

    All this is Quite telling I think if the rumours are indeed correct.

    For the currently Shipping Vista about only big desktop components written in .Net I am aware of is the Media Center parts in Premium Edition and .Net plug-in capability in MMC 3.0. PLus I would assume CardSpace etc.


Please keep your comments related to the post on which you are commenting. No spam, personal attacks, or general nastiness. I will be watching and will delete comments I find irrelevant, offensive and unnecessary.