Longhorn introduces significant new graphics technology, currently known by its codename, “Avalon.” Avalon renders an application’s visual elements onto the screen using a much more sophisticated approach than Windows has previously used. In this article, Ian Griffiths shows how this new graphical composition model solves various limitations of Win32, what new user interface design techniques this enables, and what it means to developers.
I only hope Mono will implement XAML and this article is just another reason why. Avalon is going to be awesome no matter what people say. And please, don’t compare it to Apples Quartz – Avalon is going way beyond what Apples implementation is.
I just hope these new apis are used for good instead of evil. By that I mean I hope developers do not use them to make applications that do not follow the native look and feel of windows. There are already far to many apps that for some reason thought it would be cool to create some funky non standard interface.
Microsoft needs to clean up their own act: use native widgets for wpm, msn messager, office… Then stongly encourage 3rd party software to do the same. Something like: no native widgets == no designed for windows logo.
“I only hope Mono will implement XAML and this article is just another reason why.”
And XUL and SVG has been available for how long?
“And please, don’t compare it to Apples Quartz – Avalon is going way beyond what Apples implementation is.”
Maybe. But remember there’s a significent amount of time between now and 2006. I doubt Apple’s resting on their laurels.
I wouldn’t compare it to Quartz, but I would, however, compare it to EVAS and FD.O X, both of which do what Avalon will be doing.
I will be happy to compare this to Apple’s quartz! If Apple hadn’t done it, Microsoft wouldn’t be talking Avalon. Lets be serious, my PC has had graphics hardware capable of an ‘expose-like’ feature since Windows 98, but it has taken some prodding from Apple to get MS to start thinking in that direction. I like my PC just fine, but if it weren’t for the likes of Apple, Gnome, KDE, and freedesktop.org, Microsoft wouldn’t be paying a lick of attention to usability issues. Competition is healthy for end users, why do zealots forget that?
And XUL and SVG has been available for how long?
XAML is something a lot of people are going to use. On the other hand, I don’t know any major XUL developers that aren’t developing for a Mozilla-related project, and SVG was and still is invented for the web, and while it is useful in many other areas, I don’t see how it is in the same field as XAML.
In any case, IIRC, Mono supports SVG, and Linux (along with a lot of platforms) already have XUL support (no need for Mono support).
Maybe. But remember there’s a significent amount of time between now and 2006. I doubt Apple’s resting on their laurels.
True. But the point is that Avalon isn’t some half-pass lame Microsoft clone of Quartz.
don’t compare it to Apples Quartz – Avalon is going way beyond what Apples implementation is.
Uhhh… Quartz is 1999. Avalon is when? 2006?
Still, Java-2001 was behind ST-80…
I do wonder though what will the hardware requirements be? There’s a LOT of business PCs that don’t have a gaming card, and I doubt this will drive them towards reversing that decision.
I think it’s going to be upgrade time at that point. I believe this puppy is going to need some minimal level of 3d hardware acceleration….this is Longhorn I’m talking about here.
I would imagine most PCs, new ones at least, in 2006/7 would have a graphics card, or a solution like NForce2.
I think the thread at the end of that article covered it really well, unless you want to add something more?
And before you do … remember … the article is about the _compositor in Avalon_ (just so that we dont have to duplicate that thread here)
it amazes me though that MS used such an inefficient windowing system for so long.
and the use of layers like in photoshop I think should have been thought of by the industry back in the mid 90’s and implemented back then.
Uhm for all people worrying about sytem specs… Wasn’t Longhorn gonna have some level-based interface? Meaning, the lower the level, the less bells and whistels?
Correct me if I’m wrong, though…
> I will be happy to compare this to Apple’s quartz! If Apple hadn’t done it, Microsoft wouldn’t be talking Avalon
The only reason why Appple was able to implement Quartz is due to their strict control over user hardware. People always seem to forgot this! Apple has it much much easier since they know EXACTLY what the hardware configuration will be for their customers.
Microsoft does not have this luxury. Have you have thought of how many different combinations of hardware one can have that Microsoft must be able to support; nonetheless, 32 MB graphic cards are still NOT the standard in new computers since so many OEMs sell motherboards that use Intel’s integrated GPU instead.
Good point about apple being able to control the hardware. There’s probably lots of stuff that Microsoft would have like to do with the interface but just couldn’t. It’s just like minimal memory specs though. At some point they have to say you’re just going to have to upgrade or stick with what you have.
How apple did it, is if you don’t have a 32 meg card, you don’t get some of the advanced features or performance increases. I’m typing this on a G4 cube with an old 16mb ati rage 128 card. I still get all the transparency effects, shadows, transitions, etc. my cpu just has to work harder to make them work. And if I want, I can turn some of the fancier things off. Hopefully that’s how MS will do longhorn. Then maybe I can stop making my pc look like a mac.
>The only reason why Appple was able to implement Quartz is due to their strict control over user hardware. People always seem to forgot this! Apple has it much much easier since they know EXACTLY what the hardware configuration will be for their customers.
Microsoft does not have this luxury. Have you have thought of how many different combinations of hardware one can have that Microsoft must be able to support; nonetheless, 32 MB graphic cards are still NOT the standard in new computers since so many OEMs sell motherboards that use Intel’s integrated GPU instead.
For all non-Powermac models, this is true. When one takes into account the Powermac however, this philosophy falls apart. There are a myriad of different GFX cards, HDDs, RAM, Sound Cards, PCI cards, etc… No doubt Apple enjoys knowing the exact hardware configurations of their iMacs, iBooks and PowerBooks, but let’s give a bit of credit where it is due. Apple has done a good thing with Quartz / Quartz Extreme and I’m sure Microsoft’s implementation will be awesome as well.
Doesn’t really matter how you look at it, it’s good news for us users… right?
jesse 😉
The only reason why Appple was able to implement Quartz is due to their strict control over user hardware. People always seem to forgot this!
They “forget” this because it doesn’t make sense. At the time QE was introduced, Apple had lots of machines that didn’t have the requisite hardware acceleration. There is nothing to stop microsoft from providing a fall-back mode for such machines, just as Apple did, and as FD.O will do.
The only reason why Appple was able to implement Quartz is due to their strict control over user hardware. People always seem to forgot this! Apple has it much much easier since they know EXACTLY what the hardware configuration will be for their customers.
Microsoft does not have this luxury. Have you have thought of how many different combinations of hardware one can have that Microsoft must be able to support; nonetheless, 32 MB graphic cards are still NOT the standard in new computers since so many OEMs sell motherboards that use Intel’s integrated GPU instead.
While it’s certainly true that Apple has a distinct advantage in this neighborhood, your comments are not entirely correct. Microsoft has strict rules for all of their Operating Systems, and have used those rules in the past to push forward adoption of technologies. The current “Designed for Windows XP” Logo program requires 128MB of system memory, with no more than 32MB of that reserved for an onboard graphics solution. Look for MS to expand this section in the “Designed for Longhorn” program.
In the past Microsoft adopted the Multimedia PC standards, which were even more specific as to what stuff must be included (CD-ROM is a big example of a technology that was adopted quickly thanks to the MPC Spec).
t amazes me though that MS used such an inefficient windowing system for so long.
I wouldn’t say that the windowing system of earlier windows version were that inefficient. I have never seen any speed issues.
As for using a buffer, which makes things look a bit smoother and reduces the app calls, hasn’t really been possible due to the amount of memory that kind of thing requires.
and the use of layers like in photoshop I think should have been thought of by the industry back in the mid 90’s and implemented back then.
what on earth are you talking about? the use of layers like in photoshop? do you mean semi-transparent objects? that’s been available for ages.
Avalon is going way beyond what Apples implementation is.
Care to explain how? From what I have read and contrary to what others have posted here Quartz and Quartz extreme are very similar to avalon. Avalons DCE is doing exactly what QE is doing. Quartz2D is vector based graphics layer. The goals are the same.
Even though this probably will be praised by half the world as new holy innovations, like all the other things that comes out of MS, it’s good that MS is catching up.
However, I wonder if this is all good for the users. As mentioned in an earlier post this might introduce even more inconsistant apps, and the thought of all the “cool effects” that people might add to their GUIs is scaring me.
Let’s just hope they will have more sense.
Well, Avalon is also hardware accelerates drawing of vector graphics, where Quartz Extreme does not. I wouldn’t call this a huge innovation, but it does greatly extend the richness and detail possible in Avalon apps.
I would like to respond to you directly but you really must read the long debate between the author of the article and another person at the bottom of the article.
Quartz2D is able to deliver rich hi DPI output today. I agree that avalon is designed based on the assumption that most displays in 2006+ will be High resolution displays. The quartz extreme compostior was designed for todays displays. Nothing in the Quartz architecture prevents using hi res displays.
From the discussion mweiher writes:
“3b. drawing using the GPU vs. unified imaging model
You seem to assume that drawing via the GPU is inherently “better” or “more advanced”, without apparently even considering the possibility that *not* drawing via the GPU may be a conscious design decision.
However, this was precisely the decision taken for DisplayPostscript and I am almost certain also for Quartz. The reason was/is that the Postscript/PDF imaging model is precisely defined (in a device independent manner, see above), and most GPUs simply don’t draw precisely way, and even if some do, there is no guarantee of this.
You don’t need to be convinced that this is a good idea, but at the very least it is an alternative view and means that GPU-based drawing is not necessarily “better” or “more advanced”, or “leap-frogging”.
3c. (vector level) retention automatically fast(er)
Once you are not drawing retained vectors with the GPU, there is no particular reason why it should be faster than immediate mode drawing, and experience with DPS, for example, showed that it almost never was.
The reason for this is that you are doing extra work: building up the retained graphics representation from the application-level representation, and then drawing that. Drawing directly from the application-level representation eliminates one step.”
You really must read the whole discussion to get the context. I am no expert on graphics systems but recently they seemed to have piqued my interest.
The article that all these comments are about describes quite a few features that Quartz Extreme cannot do. The Avalon spec is ahead of where Apple is at today, no doubt. There is a problem with making comparisons though, as my PC runs XP, not Longhorn. On the flip side I enjoy Quartz Extreme on my Mac every day. Apple doesn’t even tell us what’s coming out tomorrow, let alone in 2006 (2007?). It’s safe to assume that OS X will be another 2 or 3 major revisions past where it is today though (assuming Apple continues on their current pace.)
So yes, Avalon is ahead of what Apple shipped last October. It’s also ahead of what MS shipped in 2001. Given Microsoft’s frustratingly slow release schedule as of late, I expect Apple and Freedesktop.org’s X Server to be at the very least equivalent to Avalon by the time it ships.
While Apple manages to exist in it’s own PowerPC bubble, if fd.o’s X server can beat MS to the punch by a couple of years, it will be serious ammunition (in the form of eye candy) to convince users to give up their 4 year old XP installations in favor of a better, free solution.
hi,
i hope that M$ fixes the shrinking icon problem. while i do like higher resolutions, i find text and icons to be too small for my eyes to be useful, so i tend to use lower resolution.
is there a way to fix this?
The biggest different between the two is that QE is only doing hardware composition, the windows are still drawn by the CPU. With Avalon, all (possibly with some exceptions, I’m not certain) drawing is done by the video card.
I don’t know about the icons, but you can change the font DPI by going into Display Properties -> Settings -> Advanced (then some other stuff I don’t remember).
Ideally, you want to find the resolution at which your monitor looks sharpest, then set the DPI accordingly.
Those of you who are going to WinHEC can get a release of Longhorn, with docs and sample code. I’ve played around it with a fair bit. Avalon will radically alter Windows graphics. There are several implications:
1. Avalon is a retained scene-/graph-based composition system. Avalon’s Desktop Window Manager (DWM) will draw the entire desktop using DirectX/3D. There is only one driver model: DirectX/3D. No more GDI drivers.
2. Because Avalon maintains a retained scene, application display will no longer lock up. When you drag a window around on the screen, Avalon keeps a cached representation of the window at the last update cycle, so even if the app is unresponsive, it won’t matter to the composition system.
3. Win32: The disadvantage of using GDI-based Win32 apps in this system is that they will no longer support hardware acceleration. That’s because the HDC that Win32 apps get from GDI won’t be a screen HDC, and GDI won’t pass on drawing primitives to the display driver. GDI will draw/blt using (solely) software emulation to an offscreen texture. This offscreen texture will be blt’d by Avalon onto the desktop by the GPU. This is the end-of-the-line for GDI.
4. Avalon uses the GPU a lot for things such as hardware accelerated drawing, blt’ing, pixel shading, etc. There will be a minimum hardware spec for the cards that it will support. Avalon will support some software fallback but clearly the vast number of cards available in 2006 for the sweetspot of $50 – $150 will support everything that Avalon needs.
5. Avalon contains a very sophisticated animation and timing engine. I think that everyone is going to be pleasantly suprised with how powerful it is.
6. XAML is a very flexible way of designing application UI. Microsoft is promoting XAML as an open standard. I suspect that many, many developers will be using it over the next few years. One of the things that I really like about XAML is that it’s very constructive in nature; that is, if you want to create buttons or list boxes or other elements — and you want to combine various elements into an aggregate control, it’s really quite simple and quite elegant. Doing this in the old Win32 world or in something like Java Swing — let alone without hardware acceleration — would have been a nightmare.
That’s the biggest advantage of having a graphics system like this IMO. Things won’t have to change in size just because you are using a higher resolution, it will only look a lot better.
umm…you did not read the article did you.
transparencies in win32 are hacks.
Avalon will use composition layers where the mouse has its own layer, a text document has its own layer, and any other windows has its own layer….that way, the redraws do not have to be of the entire screen when an even occurs, like moving the mouse. a copy of the text document will be all set to put back up on the screen when you move the mouse since the only layer that had an even t change was the mouse layer.
Well, things aren’t quite so peachy. Resolutions are not high enough (and they aren’t getting much better) where you can just draw everything as vectors and expect them to look okay. Unless there is some sort of generalized hinting system, a lot of code (for example, widget themes) will still need to pay attention to themes.
you just don’t get it. this has nothing to do with layers, and certainly not in the sense of photoshop layers. I don’t know where you got that from.
And yes, those areas needs to be update. For example, if you move a window over another window the window beneath needs updating. The only diffrence is that the contents of that window has allready been cached by the graphics server, meaning that it don’t have to call the app for an update of that area, it just reads it from its own buffer. Whenever a window updates its contents it is once again buffered in the graphics server. This is the same technique that is used in Apples Quartz Extreme.
The thing is that this kind of system requiers a huge amount of memory compared to the old model. That’s the reason why it simply hasn’t been possible to do until recently. It wasn’t possible in the mid or even late 90’s. If you don’t understand that then you need to do some reading about graphics and windowing models.
Im unsure why alot of people are getting so excited. This technology wont be commercially available till 2006 / 2007. Thats potentially *three years* away.
Alot of us are using technology that is far more advanced that anything else on the windows side; Today.
further I have little doubt whichever cat Apple release in that time frame will be far more advanced in the window compositing department
I am also confident that whatever technology Apple introduce will be incredibly functional as well as graceful.
Just like Expose is today. Eye candy, and Efficiency. The perfect balance
Microsoft are indeed playing catch up with Apple.
In fact all the people who prefer windows should really show some gratitude to Apple for giving you guys a real window compositor
They try to make things like off-screen composition sound revolutionary. My swing applications have been doing this for years. In fact, a lot of these reported features aren’t new at all. They’re only new for .NET/Win32 developers.
Indeed. I can’t find one feature mentioned in this article that I’d consider to be new. I mean XML do describe interfaces, off-screen composition, double buffering, gl rendered interface, easy drawing. It’s been here for ages.
But it’s good for Win developers to have these things I guess. Even though it makes windows harder to compete with.
Many people seem to think that Avalon and .NET is going to end all be all to application programming. But when there’s no hype left in it, it will fall back and relax with all the other solutions out there. People will still use Java, C++, Python etc. with other frameworks.
The comments below the linked article are rather interesting, especially the thread about Avalon compared to Quartz. It tells some interesting facts, such as that Apple’s UI is almost entirely composed of bitmaps (which are put together into a PDF-like thingy)
Longhon won’t be released for another 2 years, going by the current situation, by the time Longhorn does arrive, PCI Express would have become mainstream and replaced the AGP bus on PCs (and possibly Macs) as it will allow vendors to save money, low end graphics card will be something of the equivilances of a ATI 9800 (remember guys, this is in 2 years time).
Regarding Intel/SIS and the integrated GPU, if done right, UMA based systems, which the graphics memory is shared with the main memory can be VERY fast, and example of this would be the SGI O2. With the emergence of the PCI-Express, if Intel shove a GPU on a PCI-Express bus, and have 400Mhz memory, the speed penalty should not be that great considering the amount of bandwidth that will exist between the GPU and main memory which should be in the order of a few gigabytes persecond, considerably more than AGP 8x.
you hit the nail on the head.
all the marketing and articles written by people who apparently have had their head up MS’s butt to long to realize others were coming up with amazingly useful technologies cannot change the fact that most of the benefits of this technology (all of the Longhorn technologies, sans DRM, really) are available to you today!
now, DRM, that’s where MS is truly innovating. why don’t we see any articles about that?
fd.o’s X server can beat MS to the punch by a couple of years
We are already almost 4 months into 2004. It’s not long untill 2006. The “competitors” not only need to program it, but also test it and make sure it runs on a wide range of hardware. Perhaps they will manage to make something similar (or perhaps even better), but I doubt it will be as compatible. Testing and bugfixing takes a lot of time
further I have little doubt whichever cat Apple release in that time frame will be far more advanced in the window compositing department
It won’t matter what they do, unless it’s something really spectacular. Apple has Quartz now, and most people buying Windows don’t even know it exists.
There is an existant project called Apache Avalon.
Maybe there is no threat of MS pulling legal shenanigans, but…
The problem is not so much about wether you can composit this way or that way, or “is Windoze or Apple better?” In my opinion the average user cares more about how easy it is to do stuff, and while the compositing will make a little difference there’s still a lot of improvement needed in the Windoze UI…
Clean that up a bit first…
in 2008.
Look how long it has taken Apple to do Quartz right. Avalon is no smaller in Quartz in scope which translates to a larger time to develop. Microsoft’s large programmer base could speed it up if they were not also trying to support a much larger range of computing hardware. This is why it takes longer for them to write their code. If they didn’t care about the other half of people it could be done much sooner.
So for the next 4 to 6 years, be happy with OS X, Win XP or whatever you use. Cause Avalon and Longhorn won’t be usable until then.
And to all those people who say that it’s usable now, you’re just wrong. Until the market that MS is going for can use it, then it’s not usable.