Nar Ganapathy - Windows, the IO Manager and Driver Model, Part II
Great info. Anyone know where to find that Longhorn notepad they were talking about?
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
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

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.
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 ....
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.
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.
bonk wrote:5) Direct3D -> DWM -> Direct3D doesn't really make sense to me ...
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.
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.
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.
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.
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.
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 unmanagedYou must not forget doing P/Invoke from managed code has some performance issues.
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" ?
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) ?