Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Chris Anderson - Talking shop about Avalon

Download

Right click “Save as…”

Recently, Charles cornered Chris Anderson, an Avalon Architect and champion blogger/demo king, in a room, threw him a dry erase marker and asked him to briefly describe the architecture of Avalon. You know, the building blocks of this super cool technology. Of course, Chris always jumps for the chance to go deep into Avalon and so here we go.

It's always a pleasure to listen to Chris.

(Note that we'll go much deeper into Avalon and Windows Shell core technologies as the Going Deep series winds its way up the stack to user land. Stay tuned.)

Enjoy

Download Size: 36 MB

Tag:

Follow the Discussion

  • El BrunoEl Bruno El Bruno
    Ohhh come on ..

    THIS IS GREAT !!! I've the CTP of Avalon and Indigo ... a lot of reading stuff ... but this 10 mins are INCREDIBLES !!!

    Bye from Spain
    el Bruno
  • Great info.  Anyone know where to find that Longhorn notepad they were talking about?

  • Already looked into it. VERY controversial stuff.

    Viewer discretion is advised: http://neopoleon.com/blog/posts/12904.aspx

    Smiley

    -rico
  • AQAQ One does not thank logic

    Nice modular design...I guess that's what makes pythalon possible...

    I haven't tried the ctp yet and will probs wait for beta1. But am finding most effects now are written as, well .fx files. HLSL and all that.

    Wwhat's the thinking behind harnessing the gpu in avalon and will i be able to use my .fx routines in winforms ui?

    aq

  • ricodued wrote:
    Already looked into it. VERY controversial stuff.

    Viewer discretion is advised: http://neopoleon.com/blog/posts/12904.aspx




    That's great! I also love what the Office team is doing according to one of the comments.

    Bryce Milton wrote:

    This is really going to come as a shock to the Office Notepad 2005 team! They've been quietly preparing to release a Notepad upgrade that adds some nifty features that appear to be missing from Notepad.Next


    I wonder does that also have Intellisense when having code file opened (incase you do not have VS installed)..

  • Dr. ShimDr. Shim Inaniloquent monomathical people inlapidate me.
    With the new version of Notepad, I can't see how I'll ever use another operating system again. Ever. Avalon had me nearly convinced, but this... This is major. I think I'll just convert any Linux testing machines I'll get in the future, into a distributed Notepad Enterprise Team Server 2006 cluster. Drop shadow. Wow. Question: How can I get paragraph breaks in Opera?
  • I wonder how hard it was to port Avalon to XP.  Talk about a huge change in requirements!
  • figuerresfiguerres ???
    the 64,000,000 question I have is:

    where is the new drop that works with the current VS 2005 build??

    I can't run 2 different versions of the framework with on pc and i really don't want to vpc vs and avalon so I'm stuck till they drop a new package.

    and I know I'm not the only one in that boat!
  • bonkbonk Ich bin der ​Wurstfachve​rkäuferin !
    GREAT ! THATS THE KIND OF INFO I WANT !
    (ooops CapsLock)
    No seriously - I want more like this !  Please do "sit down with a bunch of teampeople and go through each one of these" and film it and put it on channel 9.
    Those kind of infos on what happens under the hood (of longhorn) is really hard to find and it gives me sleeples nights sometimes (well maybe also because I was told to do some research on it ...)

    I do have a question about this video:

    Chris showed that direct3d/user32 layer. As we know there is WGF wich is supposed to replaces direct3d in longhorn and there is LDDM (Longhorn Display Driver Model) and the XPDDM (XP Display Diver Model).
    Also there are 4 tiers in Aero: "Classic" and "To Go" will run with the XPDDM and the two Aero Tiers will run with the LDDM. What tier is going to be able to run depends on the hardware.

    I am trying to extend that chart Chris made with those above mentioned elements. So based on what Hardware and what OS (windowsXP vs Longhorn) Avalon runs on, the direct3d/user32 Layer (and the driver layer directly below it) needs to be drawn diffrently. The question is how ....


    download longhorn_renderpipe.vsd (Visio 2003 - 170 KB) if you want to do something with it
    sorry if this chart is toally wrong ....
  • Tom ServoTom Servo W-hat?
    As far as I know, WGF is going to be the successor to Direct3D, so Avalon will likely make use of it, so you can put Direct3D and WGF together. Otherwise it should look more like this, from what I remember:

  • bonkbonk Ich bin der ​Wurstfachve​rkäuferin !
    Thank you,

    but I doubt that this can be correct.

    1) We will have to make a differnciatioation between WGF 1.0 (wich is wich  is an enhanced version of Direct3D9 Also known as “DX9.L”) and WGF 2.0 wich totally replaces direct3d.

    2) Chris mentioned in his video that user32 talks directly to Direct3d. See his blockdiagram, so we can take that as granted .... Also PresentationCore.dll is a pure managed assembly where user32.dll is pure ("legacy") unmanaged ....

    3) we will also have to make a distinction between the 4 tiers of Aero. The first two ("Classic","To Go") are for older Hardware that do not support the LDDM and the other two ("Aero Express","Aero Glass") run only on Hardware with LDDM.

    4) I doubt that GDI is now some layer below Direct3D. When you redner soemthing on older XPDDM hardware it wont necessearily go through GDI. I always thought that Avalon will require d3d9 (at least) in any case.

    5) Direct3D -> DWM -> Direct3D doesn't really make sense to me ...


  • Tom ServoTom Servo W-hat?
    bonk wrote:
    1) We will have to make a differnciatioation between WGF 1.0 (wich is wich  is an enhanced version of Direct3D9 Also known as “DX9.L”) and WGF 2.0 wich totally replaces direct3d.

    I'd guess that Avalon will use the best one available, so that'll put them on the same line. Why use Direct3D if WGF is there, which does the same job but better.

    bonk wrote:
    2) Chris mentioned in his video that user32 talks directly to Direct3d. See his blockdiagram, so we can take that as granted .... Also PresentationCore.dll is a pure managed assembly where user32.dll is pure ("legacy") unmanaged ....

    Direct3D is a dumb polygon painter, if you want. User32 cares about window placement and user input, it has to communicate that to the component who manages the Window element and does event routing of input, that'd be PresentationCore from what I remember. And there are thing's like PInvoke and all that, that allow a managed component to talk to unmanaged code. I bet if you run a hex editor or ILDasm over PresentationCore, you'll find tons of MIL and User32 references.

    bonk wrote:
    3) we will also have to make a distinction between the 4 tiers of Aero. The first two ("Classic","To Go") are for older Hardware that do not support the LDDM and the other two ("Aero Express","Aero Glass") run only on Hardware with LDDM.

    There are only two modes. DWM or GDI. The difference between Classic, To Go, Aero Express and Aero Glass is the amount of eye candy and acceleration factor.

    bonk wrote:
    4) I doubt that GDI is now some layer below Direct3D. When you redner soemthing on older XPDDM hardware it wont necessearily go through GDI. I always thought that Avalon will require d3d9 (at least) in any case.

    Rendering on XPDDM, GDI has to be involved in some way, because GDI will be the main renderer, if only for the window frames. Remember that Avalon renders into a backbuffer, which needs to be copied to screen. And Avalon needs D3D9 only for full acceleration, but works fine on older hardware with limited acceleration. My machine ran Avalon on a DX8.1 card just fine.

    bonk wrote:
    5) Direct3D -> DWM -> Direct3D doesn't really make sense to me ...

    Direct3D acceleration of the window composition, all into a backbuffer. The DWM takes the backbuffer and uses it as texture for desktop composition. Makes sense.
  • bonkbonk Ich bin der ​Wurstfachve​rkäuferin !
    Tom Servo wrote:

    I'd guess that Avalon will use the best one available, so that'll put them on the same line. Why use Direct3D if WGF is there, which does the same job but better.

    Agreed ...
    Tom Servo wrote:

    Direct3D is a dumb polygon painter, if you want. User32 cares about window placement and user input, it has to communicate that to the component who manages the Window element and does event routing of input, that'd be PresentationCore from what I remember. And there are thing's like PInvoke and all that, that allow a managed component to talk to unmanaged code. I bet if you run a hex editor or ILDasm over PresentationCore, you'll find tons of MIL and User32 references.

    This does not seem to be the case. Doing a quicksearch with  Reflector, I find (almost) no P/Invoke in it. And not a single ImportDLL user32 ... If you watched the video Chris made the connection with D3D and user32 BELOW milcore.dll so it must happen somewhere there.  Somewhere lower level where life is more unmanaged Smiley You must not forget doing P/Invoke from managed code has some performance issues.
    Tom Servo wrote:

    There are only two modes. DWM or GDI. The difference between Classic, To Go, Aero Express and Aero Glass is the amount of eye candy and acceleration factor.

    with DWM and GDI you mean what was called "Avalon Desktop Composition" and "Classic Window Manager" on this slide from a WinHEC2005 presentation?   If so, would that mean that the DWM is not used on the tiers "To Go" and "Classic" ? Will the DWM be somhow magically turned off when its in the mode that you described as "GDI" ?
    Tom Servo wrote:

    Rendering on XPDDM, GDI has to be involved in some way, because GDI will be the main renderer, if only for the window frames. Remember that Avalon renders into a backbuffer, which needs to be copied to screen. And Avalon needs D3D9 only for full acceleration, but works fine on older hardware with limited acceleration. My machine ran Avalon on a DX8.1 card just fine.

    Wow that's really great news ... So in case there is some old TNT2 (or even older) on the machine most of the rendering is done by GDI and the CPU (and therefore Avalon will run) ?
    Tom Servo wrote:

    Direct3D acceleration of the window composition, all into a backbuffer. The DWM takes the backbuffer and uses it as texture for desktop composition. Makes sense.

    Yes, now it makes sense to me too Smiley
    Thank you for clearing things up ...


  • Tom ServoTom Servo W-hat?
    bonk wrote:
    This does not seem to be the case. Doing a quicksearch with  Reflector, I find (almost) no P/Invoke in it. And not a single ImportDLL user32 ... If you watched the video Chris made the connection with D3D and user32 BELOW milcore.dll so it must happen somewhere there.  Somewhere lower level where life is more unmanaged You must not forget doing P/Invoke from managed code has some performance issues.

    Well, if it's not PresentationCore, then it must be milcore.dll. Interaction between User32 and Direct3D doesn't make sense to me, but I'm open to being corrected.

    bonk wrote:
    with DWM and GDI you mean what was called "Avalon Desktop Composition" and "Classic Window Manager" on this slide from a WinHEC2005 presentation?   If so, would that mean that the DWM is not used on the tiers "To Go" and "Classic" ? Will the DWM be somhow magically turned off when its in the mode that you described as "GDI" ?

    DWM is "Desktop Window Manager", which would be desktop composition. It's basically just another instance of the Universal Compositing Engine (it's used to compose controls into a window, and windows into a desktop). The DWM needs LDDM to operate, for the stability thanks to new features in there, like hardware reset of the graphics card. If you don't have LDDM drivers, it'll fall back to the regular window manager using GDI for drawing. The tier "To Go" won't use DWM, because it doesn't require LDDM. Classic is just the Windows 2000/XP user interface.

    bonk wrote:
    Wow that's really great news ... So in case there is some old TNT2 (or even older) on the machine most of the rendering is done by GDI and the CPU (and therefore Avalon will run) ?

    Well, it'll use the GPU as much as possible. However GDI will not be invoked in rendering the window backbuffer, Avalon will do this on its own in software mode if necessary. GDI will be used to slap the backbuffer onto screen (unless they do indeed invoke D3D at some point, just like games in window-mode, which doesn't make too much sense since it's a simple surface going to screen).
  • This is pretty cool stuff.  It looks a lot like X11 Wink  Although perhaps with the benefit that the widgets/toolkit can be "cooked in" given that it is an all-Microsoft production (although that leaves one to wonder about third-party toolkits...presumably they will have to talk this new messaging protocol to actually work).  Hopefully this will provide a much more robust architecture that will allow transparent remoting and the accompanying world of possibilities.

Remove this comment

Remove this thread

close

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.