Graphics
Desktop Window Manager
The Desktop Window Manager is the new windowing system which handles the drawing of all content to the screen. Instead of windows drawing directly to the video card's memory buffers, contents are instead rendered to back-buffers (technically Direct3D surfaces), which are then arranged in the appropriate Z-order, then displayed to the user. This drawing method uses significantly more video memory than the traditional window-drawing method used in previous versions of Windows, which only required enough memory to contain the composite of all currently visible windows at any given time. With the entire contents of windows being stored in video memory, a user can move windows around the screen smoothly, without having "tearing" artifacts be visible while the operating system asks applications to redraw the newly visible parts of their windows. Other features new to Windows Vista such as live thumbnail window previews and Flip 3D are implemented through the DWM.
Users need to have a DirectX 9 capable video card to be able to use the Desktop Window Manager. Machines that can't use the DWM fall back to a "Basic" theme, and use screen drawing methods similar to Windows XP.
The Desktop Window Manager (DWM) is included in all editions of Windows Vista except the Starter edition.
DirectX
Windows Vista includes a new version of Direct3D, called Direct3D 10. It adds scheduling and memory virtualization capabilities to the graphics subsystem and foregoes the current DirectX practice of using "capability bits" to indicate which features are active on the current hardware. Instead, Direct3D 10 defines a minimum standard of hardware capabilities which must be supported for a display system to be "Direct3D 10 compatible". Microsoft's goal is to create an environment for developers and designers where they can be assured that the input they provide will be rendered in exactly the same fashion on all supported graphics cards. This has been a recurring problem with the DirectX 9 model, where different video cards have produced different results, thus requiring fixes keyed to specific cards to be produced by developers.
According to Microsoft, Direct3D 10 will be able to display some graphics up to 8 times faster than DirectX 9.0c because of the new improved Windows Display Driver Model. In addition, Direct3D 10 incorporates Microsoft's High Level Shader Language 4.0. However, Direct3D 10 is not backward compatible like prior versions of DirectX. The same game will not be compatible with both Direct3D 10 and Direct3D 9 or below. Games would need to be developed for both APIs, one version for Direct3D 9 and below if targeting Windows versions prior to Windows Vista and another version using Direct3D 10 if targeting only Windows Vista. Windows Vista does, however, contain a backward compatible Direct3D 9 implementation.
The Direct3D 10 API introduces unified vertex and pixel shaders. In addition, it also supports Geometry Shaders, which operate on entire geometric primitives (points, lines, and triangles), and can allow calculations based on adjacent primitives as well. The output of the geometry shader can be passed directly onwards to the rasterizer for interpolation and pixel shading, or written to a vertex buffer (known as 'stream out') to be fed back into the beginning of the pipeline.
D3D10 functionality requires WDDM (Windows Display Driver Model) and new graphics hardware. The graphics hardware will be pre-emptively multithreaded, to allow multiple threads to use the GPU in turns. It will also provide paging of the graphics memory.
The version of Direct3D 9 available in Windows Vista is called Direct3D 9Ex. This modified API also uses the WDDM and allows Direct3D 9 applications to access some of the features available in Windows Vista such as cross-process shared surfaces, managed graphics memory, prioritization of resources, text anti-aliasing, advanced gamma functions, and device removal management.
No comments:
Post a Comment