WinHEC 2005: Coverage Wrapby Derek Wilson & Jarred Walton on April 29, 2005 2:00 PM EST
- Posted in
- Trade Shows
Avalon and Windows Graphics Foundation 2.0Avalon is the new face of windows graphics and promises to bring new and wonderful capabilities to desktop applications. Having worked with windows GDI, we can absolutely say that anything would be a step up, and we hope that Avalon will deliver on its promises.
The idea is that Avalon sits on top of the Windows Graphics Foundation (WGF is the new name for DirectX), and will allow easy access to advanced 2D and 3D features of modern hardware on the desktop. The Aero Glass demo shown at the keynote used pixel shaders to render semi-transparent borders that blurred whatever sat behind the window. This is just one example of what can be done with Avalon, and we hope that application developers will find new and better ways to improve the actual interface rather than just adding eye candy. One of the Avalon demos we saw included an application to organize images in a folder. The images were arranged in a cylinder with the view at the center. It was a pretty neat little demo of what is possible on the desktop with the new technology.
Avalon is part of the WinFX package that will be released for Windows XP as well as Longhorn. This will allow developers to quickly adopt new features without needing to worry about legacy support for Windows XP users. Of course, it removes the new advanced UI, remote, and filesystem technology from the list of reasons to upgrade when Longhorn comes along.
Metadata from the ground up is a theme of Longhorn's UI. Files will have icons that are rendered from the actual data and can be zoomed at will. This means that your documents, spreadsheets and presentations will show the actual text charts graphs and slides in them. Microsoft is even making it easier for proprietary files to be included in metadata by allowing vendors to include very limited decode functionality without anything else (this way we will even be able to view .RAW and other interesting file formats via the OS).
On top of that, the Windows Graphics Foundation already essentially exists on Windows XP. WGF 1.0 is also known as DirectX 9.L and will add a couple new features beyond DirectX 9.0c. These new features include: cross-process shared surfaces, managed graphics memory (and virtualized graphics memory), prioritization of reasources, text antialiasing, advanced gamma functions, and device removed (in order to gracefully recover from a failure the hardware can be "removed" and then "added"). The device removed feature will also be used for hot replace/add features. These are the basic advancements in the graphical interface of Longhorn.
Microsoft is going to make it a point to not break existing applications with Longhorn. All functions of older APIs will be mapped to DX9 functions. It will be interesting to see if there is any performance improvement here because Microsoft is planning on mapping older fixed function features to vertex and pixel shader programs. But the really interesting part of Longhorn (at least to graphics nuts) will be Windows Graphics Foundation 2.0.
In order to take advantage of all the advanced features of Longhorn, hardware will need to support WGF 2.0. Microsoft is currently considering making WGF 2.0 support a requirement for Gold Logo certification (meaning that it would be impossible to buy a computer system today that is fully Gold Logo). But we can't make any hard and fast statements about either WGF 2.0 or the Gold Logo program as neither is finalized.
We do know a little bit about the upcoming next step in the DirectX line. Aside from the new features in WGF 1.0, we will also see some new pipeline stages. Geometry shading will allow programmers to work with whole primitives at a time (where vertex and pixel shaders only allow working with one pixel or vertex). This will enable such things as easily generating per-primitive data for pixel shaders, easier handling of normals and colors, and some manipulation of the primitive (extrusion/expansion).
The fact that DX10 (or WGF2.0) hardware will need to allow stream output from the middle of the pipeline (and feedback to the front of the pipeline with predication) means much more flexibility for developers. For example, developers could use this feature to create a fast, efficient way to generate dynamic reflection, environment, or shadow maps (especially when combined with the new geometry shader). And vertex and geometry shader textures will be completely supported as well.
We can also expect Microsoft to come through with a much more detailed and stringent specification for WGF 2.0. It seems that the extent to which DX9 hardware can vary has gotten their attention. In one of the sessions we attended, it was stressed that Microsoft doesn't want software developers to have to cater to multiple hardware paths in order to get good performance. In fact, they went so far as to say that they wanted a tight enough spec so that WGF 2.0 hardware would all support the same features implemented in the same way. Foreshadowing this, all capability bits have been eliminated from WGF 2.0 (meaning that either hardware will or will not support exactly the same set of functions as all other WGF 2.0 hardware). Vendor specific extensions will still be accessible through OpenGL, and we can expect the top graphics IHVs to try and differentiate themselves somehow. It may just become more of an AMD/Intel type of race where the differences come down to the underlying hardware architecture and technology.
Aside from all of this, a feature of the LDDM (Longhorn Display Driver Model) that we find really interesting (aside from windows managed virtualized memory) is that Microsoft wants to provide a scheduler for the GPU in order to have multiple graphics programs running on a single piece of hardware at the same time. At first, this will be support by simply batching together requests from different processes and scheduling them, but the future will be more complex. Hardware makers will need to put some effort into providing for context switching in graphics hardware. It will be interesting to see how efficiently this is implemented, as it could generate quite a bit of hardware overhead.
That's about the extent of the current knowledge we have on WGF 2.0 and the LDDM. To be sure, we will bring you more information as we get a hold of it.