Longhorn seems to be a very big ship which is hard to steer, with releases taking many years, with infrequent updates. By the time it comes out others will have moved on to other things. For a lot of the things coming out they seem to be reactionary. When
a competitor announces something in their product, you hear the MS guys saying, "yeah sure we got that in Longhorn". And if they actually don't have it in there, the release is so far away they could squeeze it in by then. Highly innovative? Because it builds
on something new? Unseen? They are playing catch up. For example, they fell asleep with IE and now have ramped up development on it again. What else besides tabs and RSS are they doing? Anything new? When I see people using IE these days I always think "you're
still using that?!?". Why people persits with it amazes me. Use Firefox (or Safari) for five minutes and you should be sold on it and dump IE, unless you need to visit some IE-only friendly web site.
I do understand that you feel the way you do. Allthough MS has been very open about the bowels of Longorn there is not yet too much thrilling to see from a plain user perspective. This antagonism paired with
MJFism can lead to prejudices or to the kind of feeling that you have. One needs to keep in mind that longhorn is not even beta yet ( I know, it makes me sigh too ...)
Form the developer's perspective however there is already quite long list of promising and innovative technolgies and concepts publically known and ready to explore. Further as a developer I find it rather easy to imagine what
could be implemented with them.
TomasDeml wrote:I haven't seen the video yet, but is this RSS functionality supposed to be exposed through the managed code?
Exposed through managed code?
It's exposed through a documented set of API's. It shouldn't matter if it's managed or not.
I have to disagree. If that API is managed or not is crucial. And it wouldn't really make sense to make hat API an umanaged API. BTW: some of the demos shown in that video are said to be written in c# ....
I have to clear something up about MS ,innovation and copying (form the user perspective). I think the major innovative aspect that comes from MS is that it takes features (some new ones and some that have already been seen elsewhere) and joins them into
one consistent big picture (Longhorn). All parts/features (applications, APIs etc.) are more or less able to cooperate and communicate since they are coming from one source. So allthough Longhorn contains a lot of features that have already been seen somewhere
else (but spread across various autonomous applications/OSes/APIs that only work with and talk to themselfes or their kind) it is highly innovative beacuse it builds something new and unseen out of those building blocks.
Thats my major WOW feature for Longhorn: "WOW - I get all of those cool things in one box. And they will work hand in hand."
Despite all that as a user I really don't care who came up with what ideas first. If it works and does what I need, I use it. And it is most likely that the next OS by MS codenamed Longhorn will do what I need pretty well and most importantly - better than
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.
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.
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 Thank you for clearing things up ...
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 ...
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 ....