Longhorn's Windows Graphics Foundation Examined
Matt J writes "Dave Salvator at ExtremeTech goes over some of the graphics designs for Longhorn. 'David Blythe of the DirectX development team gave a very interesting talk about the upcoming 3D graphics architecture in Longhorn, the next major revision of Windows. Called Windows Graphics Foundation (WGF), this new architecture will usher in some major changes to how 3D graphics operations get handled by Longhorn. These changes extend well beyond Longhorn's Avalon technology, which will render the Windows Desktop using a GPU's 3D graphics processing power rather than the traditional 2D blitter. WGF will instead define the core 3D operations themselves.'"
An intelligent GUI would be settable to any virtual resilution, with elements that are fully scalable, from icons to "system" fonts. This is an inevitable feature on the desktop, and I wonder if any proposals are in the works.
Looks good for your age..
Wow! This makes me jealous... I wish my Powerbook running OS X could do thi.... Oh.... wait....
One of the first orders of business is to "fix busted stuff," as Blythe put it. These items include no more blue-screens (hard crashes) caused by the graphics driver, and moving more processing into what's known as user mode.
They're calling this thing WGF (Windows Graphics Foundation). Perhaps instead of blue GPF's it can generate pretty pink Windows General Faults.
Is this like Keith's Getting X Off The Hardware plans, where he suggests that having your xserver running on top of openGL instead of having to talk to all this messy hardware stuff will make it nicer and faster?
We have cairo.. same kind of thing, and people are modifying stuff to implement it everywhere.. Theres also many other technologies to make up everything that Microsofts new one will do (the difference is though that we are much closer to getting a stable version)
http://www.freedesktop.org/Cairo/Home
Just dont take all of Microsofts noise too seriously, just be aware that by 2006, linux will have completely equivilent technologies (in many cases we already do), and just cause we dont make much noise about it, dont think that they dont exist, or aren't planned for the near future.
Honestly, the stuff which I have seen for longhorn so far hasn't been mindblowingly amazing, and are really just things where they are trying to catch up to MAC OS X, or linux
This article makes it unclear if WGF 1.0 is basically DirectX 10.0 or a Longhorn-specific system. If it isn't available to users of older versions of Windows, there is little incentive to rewrite code specifically for it. I think the adoption of Longhorn will be slow as I haven't heard any really compelling reasons to shell out the money for the upgrade.
Even if this comes from Microsoft, this is pretty amazing stuff. The OS-level ability to use the 3D acceleration features of the card by more than one application at a time may prove to be as important to future computing as the ability to create 2D windows at the OS level. What *should* be more amazing is the response of the open-source community. I think we should all unite in an effort toward a new advanced graphics architecture. Maybe this is something IBM or SGI could reasonably invest in.
samrolken
Oh, moving some stuff to user mode? Well, um, better late and half-baked than never and not at all?
Seriously, putting stuff in the kernel that should have been in user space is one of the more serious architectural botches in Windows. It has caused massive stability problems. Now it seems that Microsoft is recognizing this, and is starting to undo it. (What they need is to completely undo it, but they have to start somewhere. What they don't get to will continue to bite them until they do.)
I know I am! With the hype machine running flat-out this far before the launch date, Longhorn is starting to sound like Microsoft's version of Copland...
0 1 - just my two bits
Y-Windows. A replacement for X that is fully hardware-accelerated and can upgrade its own drivers without a restart.
If people want to beat Microsoft with this technology, Y is the place to go and help out.
...if they would just let me move a window around while the application is loading.
When was the word 'innovation' used? I can't find it. But since we're on the topic, it is interesting that despite MS being a monopoly, they're still doing major work on their upcoming OS. But... no, we'd rather talk about their OS taking a big step towards (possibly even past) what Apple has done.
"Derp de derp."
The difference is that one is a "suggestion" while the other is a company actually getting off their asses and implementing it system-wide. Where is that happening in OSS right now?
I've been saying this since Longhorn's features were announced, Linux desktops will be severely behind if they don't hurry up and move into the modern age that Longhorn and future versions of OS X are competing in. But no, we're still stuck with deskop emulators hacked on top of an ancient X protocol server with no unified development API. Hell, not even a way to install and uninstall things, because it's not really a seamless desktop but a cludging-together of 20 different projects in order to emulate a desktop operating system instead of actually being one.
Back up and erase the "it." in "it.slashdot.org" to make it go away.
1.) Typing "M$" doesn't make you clever or witty.
2.) NT isn't based on DOS at all. Nobody knows what you're talking about there.
3.) Select HTML format next time.
4.) This technology is not "unimpressive." Only to elitist Slashdot snobs who think XFCE is still a cool idea. The rest of the world wants to move to a modern, 3D-based compositing architecture. Where is that happening in Linux? 2006 is just a year and a half away. Well?
I seriously do not understand the mindset of people that can't pull their head out of their ass long enough to realize they're not the only people using computers these days, and that most people don't want to drop two grand on a computer to be greeted with midnight fucking commander when they boot up and look for a file. We do not live in the dark ages of computing. Not everyone is a fucking programmer. If you don't like it and won't use it, shut the fuck up. You're obviously not the target audience, you don't fucking matter.
'Standards' in computing only impress those who are impressed by things like 'standards'.
is it just me or is this a lot of Acronyms with a lot of theroy and ideas an no real proof its going to work or not. Longhorn is still in development and still a way off things tend to change and it may be good or bad. the way i see this article is a marksmen shooting at a target years away and truely its luck if he hits the bullseye or not.
The last thing I want is another big Microsoft API. Let me know when the Windows API gets smaller, or when Windows implements the Single Unix Specification in any meaningful manner. I have better things to do than to waste my time trying to write programs against a cumbersome toy OS API.
"It's just like OSX's Aqua, rendering the GUI in the graphics card and all...?"
No. Aqua doesn't render the GUI in the graphics card at all. It does, however, use the graphics card as a high-speed composition engine.
Aqua is also bitmap based. Despite what many have said, OS X icons are just bitmaps, as are the buttons and other controls. That means that they don't scale very well - just like the widgets in Windows XP.
With Longhorn, everything is vectorized. You'll be able to adjust the DPI of your display and all of the controls will automatically update to match it. For example, you could have a 300dpi display and then adjust the widget size so you can still read the text.
People with UXGA 14" notebook displays know all about this. Many choose to run their display at a lower, non-native resolution because the text is too small otherwise. This isn't the best solution. With Longhorn, they'll be able to run at full native resolution and adjust the text size (and the size of the titlebars, icons, buttons, scrollbars, and everything else) to make everything usable. Plus, they get the benifits of high resolution: clear, crisp text and objects.
glitz and Cairo, to name 2 related efforts.
I read the article. And many other like it. I also read the comments. And ran Longhorn 4072 for a while.
Everyone's getting excited about the compositing. Which will not be in production for ages, and doesn't do anything we've not seen before.
If you read (and fully understood) the article, you would realize that a fully hardware accelerated windowing system is not all that Microsoft promises with this new stuff.
The other stuff I see as being BIG are the changes to DirectX such as removing a lot of the fixed function pipeline features. They are pushing the GPU to be more generalized which is a good thing.
Microsoft is really hyping up Longhorn and none of the meat of Avalon has made it into the technical previews. Judging by the Ctrl+Alt+Del animations, the smooth color fades in Explorer, the few existing vector graphics, the other random programmer art in the technical previews, Avalon is going to be IMPRESSIVE.
Whether you like MS or not (which you don't, this is slashdot), they have the programming and graphical resources to pull this off in a very big way.
http://brandonbloom.name
OK, after commenting, I went back and read the article. There's a couple major improvements over the current Windows:
+ It sounds like they are getting rid of the old single-threaded event model, which was brought over for Win3 compatibility. (No more GUI locks while Windows probes your CD-ROM, etc.)
+ The processing will be moved to user mode as much as possible (ie, no more "GUI in the Kernel")
Business. Numbers. Money. People. Computer World.
You would think that offloading of the graphics work could have been done years ago. It's not like 3D accelerators are something new.
http://raplyrics.blogeasy.com
Does anybody notice that most of the computing industry would be redefined according to Longhorn?
Now I know they need to build something really different, but are all these differences really worth the hassle?
Maybe it's just me tired of hearing about software that won't be in use for another 3-5 years as if it's the best thing since sliced bread...
Blogging because I can...
There have been widget libraries built on top of OpenGL for years. See GLOW, for example. It's straightforward to do, and works reasonably well. Works on any OS that will run OpenGL.
Do you honestly think Microsoft wouldn't put preemptive multitasking in a new version of Windows? That would be feature (and usefulness) suicide.
It's better to vote for what you want and not get it than to vote for what you don't want and get it.
- E. Debs
Aqua is also bitmap based. Despite what many have said, OS X icons are just bitmaps, as are the buttons and other controls. That means that they don't scale very well - just like the widgets in Windows XP.
Yes, Aqua is one mega-gigantic compositing engine. The power of that shouldn't be underestimated, but I'd expect Longhorn to be able to do that fine. However, Quartz 2D is also a complete vector rasterizing engine, implemented (I assume, it'd be stupid if not) in AltiVec. Why use a GPU when you have multiple vector processors on a G5? (With oodles of L2 and L3 cache to eat on). FYI, writing vector graphics code with AltiVec is very yummy. If you look at the Quartz 2D API, there are no direct compositing functions; it's all vector-graphics. You can take pixmaps and composite them together (using the 'over' operator). Although I guess when they added support for the PDF transparent imaging model (part of PDF 1.4/OS X 10.3), they added support for transfer modes of vector graphics/pixmaps; I haven't looked into that.
As for icons, it's a heck of a lot easier to 'paint' an icon with pixels than to define a drawing with shapes and gradients. Also, Tiger is going to support 256x256 icons (!). IRIX's window manager (forgot the name) had vector icons. No biggie :P
With Longhorn, everything is vectorized. You'll be able to adjust the DPI of your display and all of the controls will automatically update to match it.
Tiger supports a resolution-independent user interface. With Cocoa based on the PDF imaging model, where every coordinate is represented with floats (including mouse position, which kicks in when you have a graphics tablet), it's very easy to scale everything (and rotate! NSView supports arbitrary rotation of views, and all further drawing in the view will be rotated as well).
It doesn't seem that the Tiger release notes are online yet... perhaps I should shut up.
Moderators should have to take a reading comprehension test.
"One of the first orders of business is to "fix busted stuff," as Blythe put it. These items include no more blue-screens (hard crashes) caused by the graphics driver"
Yeah, that just pushed Longhorn's release back to around, oh, 2020.
Slashdot sucks
Quartz Extreme and Core Video?
Redmond, start your copiers!Do you know why this isn't funny anymore? Because this is the joke most people make who have not tried Windows beyond the 95 and 98SE1 days.
Do you REALLY want me to bring up how 'good' the Linux kernel was in it'x 1.x days?
"We're breaking out the ramen noodles. . . "
"Really? Is it someone's birthday?"
Utter nonsense. Microsoft tells you all the things they're doing for Longhorn way ahead of time. So far in advance that some of those features get pushed back to later releases when they realize they can't get it down. And Longhorn is getting released when? 2006 at earliest?
How much of what was announced at Apple's WWDC for Tiger (due out in 2005) did you know about ahead of time? Apple handed out preview releases with features no one knew they were working on. Apple's website only covers the features that are stable and useable in that preview release. Meaning there's more stuff which only WWDC 2004 members heard about and aren't allowed to talk about.
Quartz Extreme is Mac OS 10.2 technology. (And when did you first hear about that?) 10.3 brought Quartz 2D on OpenGL. It lets you use parts of Quartz 2D inside OpenGL canvases. At last year's WWDC they said they needed fragment and vertex shading support to get all the widgets implemented in OpenGL. As a result, Quartz 2D on OpenGL isn't something that happens automatically on Panther. You could utilize Quartz 2D objects like fonts inside your own OpenGL programs. So what will 10.4 bring? Suffice to say that Apple is not standing still. Complete 3D acceleration of the GUI has pretty clearly been in their roadmap. They've had a head start over Microsoft and are likely to stay ahead.
well, you've really done your research..
For starters, MS didn't invent the start menu, it was Apple, all MS did was market it in a way that disillusioned people who didn't do much research thought that it Microsofts idea
Now.. where to start: http://wwws.sun.com/software/looking_glass/
Composite/Xdamage: One thing that has kept us behind Microsoft for a while graphics wise. These allow real transparencies. they are 1 month off..
Enlightenment 17: This has amazing graphics already (try entrance.. it works already), and blows away anything I have ever seen. The people who code enlightenment are also well known as technical geniuses and are excellent at optimisation, so they can do high quality graphics VERY fast, and very efficiently.
Dashboard: While Microsoft is bragging about their integrated search technologies, unknown to many, this is already available in linux too.. http://www.nat.org/dashboard . In fact, Microsoft stole the idea from that...
Full hardware accellerated window: The accelleration system is being changed now, and I'm guessing that within 2 Xorg releases, there will be nothing left that isn't accellerated.
"DirectX shading" Let me ruin your disillusions about the magical directx.. Its behind, its always been behind, and whatever it can do, opengl can do a lot easier.
XUL: Our new XAML like thing.. Its being developed for Mozilla. Do you even know what that is???
And about your comment about no desktops using the new features.. do more research!!! You'll notice that everyone has been migrating to SVG type graphics already and cairo is the most likely method that will be used to accellerate them. You obviously haven't noticed this though.. Because I bet you haven't touched CVS though, so have no idea whats really going on.
Now, heres the thing you prove you haven't done your research on.. What about stuff like SElinux that Linux has but Microsoft doesn't eh. Microsoft is bragging about the new stack smashing protection in SP2, but just about every Nix distro/type has had it for years.
And what about stuff like gdesklets and superkaramba?? I'm not sure exactly, but I think that we beat Microsoft on those things...
Come back after you've tried Entrance from E17.. http://xcomputerman.com/pages/entrance.html . Those kind of effects already I can honestly say beat longhorns by a long shot (at least what I've seen). After you tried that.. You'll get a taste for the future.
And about integration, you have no idea about dbus, shared-mime-info, etc obviously, because that stuff is already making a massive difference integration wise..
Longhorn's Avalon definitely goes beyond 10.2's Quartz Extreme. Quartz Extreme only 3D accelerates Quartz Compositor. Quartz 2D is still pure 2D. But for the record, it should be pointed out that that 10.2 is 2 years old while Longhorn won't be out for at least 2 years. The difference between Apple and Microsoft is that Microsoft boldly brags about features far in advance while Apple is highly secretive. A lot of people seem to think that Microsoft is overtaking Apple with Avalon, simply because Apple has only been publicly talking about their old Quartz Extreme technology. The reality is quite different. 3D acceleration for Quartz 2D may be ready in 10.4 next year.
A number of benchmark tests have proven that, CPU cycle-for-cycle, a well configured UNIX or Linux server can outperform a Windows server in just about every server task there is.
Surely the base reason for this is that the UNIX pholosophy is not to waste valuable computing resource of GUIs and graphical processes when you don't need to. In other words, have your UNIX server running in a console mode, perhaps with a web server or X-Server running, and just do all your administration of that server either through the console or via a web interface or remote GUI session.
It's ridiculous the Microsoft still haven't released a non-GUI server variant of their OSes, especially when, in my experience, a large proportion of blue screens and crashes are as a result of something going wrong in the graphics sub-system somewhere.
The only logical conclusion I can come up with is that there is a conspiracy between Microsoft & hardware manufacturers for MS to constantly waste CPU cycles to ensure that everyone is forced to upgrade their hardware constantly.
Gentoo Linux - another day, another USE flag.
KEY: "summary of what it says (paraphrase, not an actual quote)" - what it means - what it means from a perhaps slightly biased POV
1. "Talk at Microsoft's Meltdown conference: DX Futures"
2. "Talked about Longhorn's 'Windows Graphics Foundation'" - quote from powerpoint: 'WGF is the "next Direct3D"' - a 3d architecture for both games and for the OS (and maybe for non-rendering tasks)
3. "Unifying vertex/pixel shaders; support multiplexing by multiple apps" - Microsoft is going to continue driving the process of specifying what next generation hardware's feature sets should be (only natural, since Talisman and Fahrenheit were such succesful designs ).
4. "remove fixed-function pipeline features; everything must be done by shaders" - Because obviously everyone wants to write shaders themselves for everything, even in the simple cases! Yes, please make me look up the Phong lighting formula every time I write a throwaway 3d app! Actually, the article doesn't make clear but the presentation above does that they're continuing to support the legacy DirectX interfaces, and improving support for OpenGL, so at least you can use those interfaces for fixed-function support. But the ppt above does seem to say that the hardware won't implement fixed-function stuff (which makes perfect sense--the drivers can supply an equivalent shader), and it states that a high-level shading language "will be the only methodology for Windows Graphics Foundation", with an example showing a shader iterating over multiple lights and computing the results itself.
5. "no more caps bits (capability bits)" - Hey, it's yet another of the things that OpenGL got right all along. Not sure what prevents someone from accessing a legacy D3D API and getting at the caps bits there, but at least there won't be any new ones.
6. "stability; if we're using 3d graphics hardware for basic desktop rendering, it's got to be super stable, and when it crashes, it needs to be able to reset trivially without the machine going down." - the ppt says the new architecture design is trying to reduce driver complexity. I am extremely doubtful about this.
(Intel) Quick do something! People are gonna start to realize they don't need 4 ghz for e-mail!
(Gates) Don't worry, we have something cooking. >8 )
Actually, it's Quartz Extreme that renders the GUI via the GPU. Core Image is more of an add-on to that, applying filters and transformations using the GPU as well. Quartz Extreme has been around since Jaguar, and Core Image will appear in Tiger.
e me /
http://www.apple.com/macosx/features/quartzextr
http://www.apple.com/macosx/tiger/core.html
For years I've wished linux had vector based desktop so I could have a 3d scroll wheel embedded in irix window frames. You make the wheel turn by dragging over it with the mouse, and all icons in a window grow or shrink smoothly. I also like the way icons would shoot animated rays out for a few seconds after clicking to indicate the program was loading.
The point is that 3-D card compositing is actually much faster than 2-D compositing on today's cards. The hardware is no longer super-optimized for 2-D... nobody cares about 2-D hardware anymore. The way Windows moves windows is insanely slow.
If I drag the window this browser is in on my 2.4 GHz machine with a Radeon 9800, I get tearing and it jumps around a bit. I have "display windows contents while dragging" on.
2-D on Windows is a fifteen year old setup, more or less. It's time for a new model, with less programmer complication.
If I run Quake III with vSync on, I get no tearing and I'm running at well past my monitors refresh rate... objects have apparent physical reality instead of this flitty flit windows nonsense.
Today if you turn off 32-bit colour for 8-bit color, you don't make your machine faster. It's slower because Windows stores internally as RGB. Turn to 256 color graphics and you have to set the palette all the time through BIOS calls. Yuck.
The same is true here... Windows is moving to a newer, faster graphics model. It's faster to have each application draw to its own framebuffer and let the 3-D card composite it. It's faster to not deal with actual blitting loops within applications that tie up the whole processor.
No more clipping calculations for the various windows, no more trouble with more than one video application trying to use the god-damned overlay mixer, no more trouble with overlays not working on the second monitor of a dual-monitor setup....
Don't think of it as 3-D bloat... that's inaccurate. Think of it as enabling the 3-D coprocessor that almost every computer will have at that time. You already know your P2-266 won't run Longhorn. 3-D doesn't make that more true.
"Vector processors" do not accelerate the same kind of vectors that are involved in "vector graphics."
Actually they do. I'm doing a lot of this work right now (still working on it damnit). Tons of matrix multiplication (multiplying the spline matrix by the geometry matrix, and then the parameter matrix), parameter modification (translating the sample values into the desired domain), etc. Vector processors are perfectly suited for vector graphics.
Moderators should have to take a reading comprehension test.
1) How is the OSS stuff any more vaporware than Longhorn? It's "in progress" just like Longhorn is "in progress." Or do you have a release version of Longhorn that nobody else does?
2) The new graphics stuff isn't in the PDC beta. The new UI was shown only in Bill G's keynote --- it was stripped from the 4051 build given to attendees. The new OSS graphics stuff is actually available for download.
A deep unwavering belief is a sure sign you're missing something...