Chris Anderson - Talking shop about Avalon
- Posted: May 11, 2005 at 11:48 AM
- 61,786 Views
- 15 Comments
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
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.
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
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?
Viewer discretion is advised: http://neopoleon.com/blog/posts/12904.aspx
-rico
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
That's great! I also love what the Office team is doing according to one of the comments.
I wonder does that also have Intellisense when having code file opened (incase you do not have VS installed)..
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!
(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 ....
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 ...
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.
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.
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.
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.
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.
Agreed ...
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
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" ?
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) ?
Yes, now it makes sense to me too
Thank you for clearing things up ...
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.
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.
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).
Remove this comment
Remove this thread
close