Graphics On The Windows Desktop : Graphics On The Windows Desktop Kerry Hammil
Agenda : Agenda Update on graphics hardware tiers and requirements for the next version of Microsoft’s operating system, codenamed “Longhorn”
Changes to Windows Longhorn’s Desktop Composition Engine architecture
How desktop composition interacts with other graphics technologies
Windows Longhorn graphics and power management
How Windows Longhorn Uses The Graphics Hardware : How Windows Longhorn Uses The Graphics Hardware Windows Longhorn uses the graphics hardware in two major ways
Applications
Use graphics hardware to improve performance, achieve higher quality visual output, and offload work from the CPU to the GPU
There are no discrete levels of hardware acceleration for applications that use Avalon; quality and performance improve on a smooth scale as graphics hardware becomes more powerful
User experience
Use graphics hardware to enable powerful, graphically rich user experience elements in the Windows Longhorn user interface
There are two discrete levels of user experience in Longhorn
As graphics hardware becomes more powerful, user experience becomes richer in discrete steps
Windows Longhorn User Experience Tiers : Windows Longhorn User Experience Tiers Windows Longhorn will introduce a new, graphically rich user experience named “Aero”
A mode of Aero named “Aero Glass” will be available on higher end graphics hardware
The Windows Longhorn graphics tiers will be directly reflected in the Windows Longhorn logo program
Understanding how the tiers are structured will help you design hardware that works well on Windows Longhorn
Exact details of how tiers map to the logo program are forthcoming
Slide5 : Demo
Aero : Aero The Aero user experience is a generational leap beyond the Windows XP user experience
Aero is built on Avalon and will use graphics hardware acceleration where available
Hardware requirements
DirectX 9 GPU
This has changed since last WinHEC due to the market trends and updated Windows Longhorn RTM date
32 MB VRAM
This is required to support the Longhorn minimum resolution of 1024x768x32bpp
AGP 4x bus for discrete GPUs or UMA configurations for integrated GPUs are both sufficient
Machines with graphics hardware that does not meet the Aero bar will not qualify for a Windows Longhorn logo
Aero Glass : Aero Glass Remember Jim Allchin’s keynote demo
How Windows Longhorn Scales With GPU Power : How Windows Longhorn Scales With GPU Power Increasing GPU power Better performance and visual quality Applications User experience
Aero Glass : Aero Glass Aero Glass is the highest fidelity user experience on Windows Longhorn
Aero Glass contains all of the features of Aero and also includes several new features that make extensive use of the graphics hardware to create visually rich effects
That means it has higher graphics hardware requirements than Aero
Hardware requirements
DirectX9 GPU (Pixel Shader 2.0 support)
64 MB VRAM (128 MB recommended)
Longhorn Display Driver Model
AGP 4x bus for discrete GPUs
Dual-channel UMA configs may qualify, but we will know for sure this summer
Performance qualification
Classic : Classic Under some circumstances, a Windows Longhorn user may choose to run with Classic visuals
Classic UI visually resembles the Windows 2000 UI
But all of the new non-UI Longhorn features are still available
Classic is designed for IT professionals and enterprises
Enterprises may want to run the Classic user interface for a while as they give their employees training in the new user interface features in Windows Longhorn
Classic will be used as a fallback for machines that do not have sufficient graphics hardware to run Aero
Aero Glass Performance Requirements : Aero Glass Performance Requirements Adequate GPU performance is also necessary to deliver a good user experience on Aero Glass
Windows Longhorn will only run Aero Glass if the user experience is consistent, smooth and reliable
The Desktop Composition Engine should run at monitor refresh rate whenever possible
On CRTs with very high refresh rates, the composition engine may run at half the screen refresh rate
If the composition engine framerate falls below 30 fps, users begin to perceive stutters and lag in animations and UI operations
UI latency is another very important measure of quality.
There must be enough CPU and GPU resources left over for applications to run with high quality, good framerate and low UI latency
Aero Glass Qualification Test : Aero Glass Qualification Test Microsoft will develop a qualification test that is used to determine whether a system is capable of running Aero Glass with high quality
The test will run at install time or when a major system configuration change is made
In addition to testing GPU caps and verifying available video memory, the Aero Glass qualification test check whether performance is adequate
Existing graphical benchmarks do not capture the performance scenarios that are most important for Aero Glass
The performance test will run Aero Glass with medium to high workloads
It will measure composition framerate and UI latency for both the desktop and for applications
The test will be published at least 18 months before Windows Longhorn ships
Desktop Composition Architecture : Desktop Composition Architecture There have been several design changes to the Desktop Composition Engine since last year
We’ve added two components: Desktop Window Manager and Unified Composition Engine
The Desktop Window Manager (DWM) is a component that manages window policies, behaviors and visual appearance
The Unified Composition Engine (UCE) can run on the desktop or within an application
On the desktop, the UCE composes all of the window content together and presents it on the screen
Within applications, the UCE composes content like controls and other UI objects together within the app window
The component we’ve called the Desktop Composition Engine in the past is really the combination of the DWM and the UCE
Desktop Window Manager Architectural Overview : Desktop Window Manager Architectural Overview
.
UCE UCE UCE App1 App 2 App 3
UCE DWM Direct3D Backbuffer DWM Process boundary Window frames Client area Client area Client Area
Desktop Composition Hardware Usage Patterns : Desktop Composition Hardware Usage Patterns Desktop composition uses exactly the same technologies to draw as Avalon applications use, so there are many similarities in hardware requirements
All of the things you heard in the previous session, “TW04006 – Avalon Graphics – 2D, 3D, Imaging and Composition”, apply to desktop scenarios
The nature of the content drawn on the desktop is somewhat different than content applications typically draw, though
The desktop has a very low poly count
Windows are typically less than 10,000 polygons
The desktop uses a lot of very large textures
Window client areas are each represented by a single large texture
Textures are updated frequently because as the window client area changes, we update a portion of the existing client area texture instead of creating a brand new texture
Graphics hardware and drivers will want to take into account the different usage patterns on the desktop
Desktop Window Manager Features : Desktop Window Manager Features Since the Desktop Window Manager is written using Avalon, it makes a broad and rich set of features available to the applications and to the UI
Features in the Windows Longhorn UI
Transparent, blurred window frames
Window transition animations
Rich graphics in the window frame
Features that applications can use
Animations of top-level windows
Soft-edge clipping for non-rectangular windows
Features that are core to the Windows Longhorn operating system
High DPI scaling
Accessibility magnification
GDI Hardware Acceleration : GDI Hardware Acceleration GDI hardware acceleration will be disabled when desktop composition is enabled
This is because GDI rendering is being redirected to an offscreen surface rather than going directly to the screen
GDI hardware acceleration will also be turned off if the LDDM is running because the GDI DDIs are not part of the new driver model
This causes GDI applications to run a little slower, but given the speed of CPUs these days the effect on the end user is minimal
Front Buffer Access : Front Buffer Access Direct access to the front buffer is not available when the composition engine is running
Applications will not be able to write directly to the front buffer because the composition engine owns the front buffer and requires that app rendering be redirected into an offscreen surface
Reading the front buffer will not be an effective mechanism for screen capture
The Desktop Window Manager will provide a new screen capture mechanism that works while desktop composition is running
Overlays will not work when the composition engine is running
The Windows Longhorn video platform will use techniques other than overlays to display video
When Does Desktop Composition Run? : When Does Desktop Composition Run? The goal in Windows Longhorn is to run desktop composition as frequently as possible
Desktop composition is required for Aero Glass
For Aero, we would like to run desktop composition as much as we can because high dpi scaling and accessibility magnification depend on it
There will be some scenarios where desktop composition cannot run, but these will be exceptions
Application compatibility – applications that cannot run with desktop composition enabled
Low-powered video hardware – Cards with less than a DirectX 9 level of capability will not be able to run the composition engine
Driver stability – If the user is running a driver that has blue screened, the user may choose not to use features that require graphics hardware acceleration
Our goal is for the exceptions to affect only a small percentage of users
Desktop Composition And Full Screen Applications : Desktop Composition And Full Screen Applications Sometimes applications will want to run in full screen exclusive mode to ensure that they have full control of the GPU resources
In these scenarios, the composition engine will stop composing the desktop and it will turn over control of the GPU to the exclusive mode application
The composition engine will not shut down entirely, though
When the exclusive mode application loses focus or exits, the composition engine will start drawing the desktop again
Video On The Desktop : Video On The Desktop Glitch free video is an important scenario for Windows Longhorn
For more information on glitch free video, attend TW04066: Preparing the Platform for Windows Longhorn Media Processing
Video presents some unique challenges in the context of desktop composition
Video must play at its native framerate, which may be different than the display’s refresh rate
Both video and the composition engine must have adequate hardware resources so that both display smoothly
We are investigating design options for the UCE and DWM that will allow video to run smoothly when desktop composition is enabled
Windows Longhorn Display Driver Model : Windows Longhorn Display Driver Model LDDM is critical for the Windows Longhorn desktop and for hardware accelerated Avalon applications
The desktop must be rock-solid – video driver instability can take down the entire desktop as well as applications that hold critical user data
With the composition engine and multiple applications using the graphics hardware simultaneously, GPU scheduling and memory management are required to ensure a smooth, consistent experience for the user
Because of these things it is a requirement for Aero Glass and it is highly recommended for Aero as well
Come hear more about LDDM at the following sessions tomorrow morning
TW04079 – Windows Graphics Foundation -- Overview of Windows Graphics and the next generation graphics architectures
DW04018 – Windows Longhorn Display Driver Model – Details and Requirements
Windows Longhorn Graphics Power Management : Windows Longhorn Graphics Power Management Windows Longhorn’s heavy use of graphics hardware creates the potential for over consumption of power on mobile devices
Heat dissipation is also an issue, especially for thin and light laptops and Tablet PCs
We want to make it possible to run Aero Glass on mobile hardware
Running Aero Glass on a laptop should not mean the user must always stay plugged in to AC power
However, the user will be able to control whether Aero Glass runs on their mobile device when it is unplugged from AC power
Power consumption measurement and optimization is a high priority for Avalon
Power Testing Methodology : Power Testing Methodology Right now, the most reliable way to gather power consumption data is to use laptops that are instrumented at the hardware level to report power usage for each component on the motherboard
This gives us good data but instrumented systems are pretty rare and testing on them is a time consuming process
We have begun to run power consumption tests using Avalon applications to gather preliminary data
Graphics IHVs can help us ensuring that you provide instrumented graphics hardware to the Windows core power team if you have not done so already
Power Optimization Strategies : Power Optimization Strategies Avalon will pursue some power optimization strategies in software
Scale back composition framerate to a certain extent, but not below 30 fps
Ensure that Avalon and desktop composition uses memory efficiently
Allow users to set power consumption policy; Users that specify that they want to maximize battery life may be prompted to run Aero instead of Aero Glass
More optimizations will be found as we continue our power testing
One thing we can’t do is turn off Aero Glass features one by one to save power
This creates a very confusing user experience – i.e., a feature is working one moment and gone the next
How Graphics Hardware Can Help Aero Glass Run Well On Mobiles : How Graphics Hardware Can Help Aero Glass Run Well On Mobiles Graphics hardware can help ensure that power consumption is as efficient as possible
The Windows core power team has a set of best practices for power managing your hardware
Attend TW04089-Windows Longhorn ACPI and Power Management – Part 2 to hear more about Windows Longhorn power management best practices
The display driver can affect power consumption, too
Don’t busy wait in the display driver – this keeps CPU utilization high and chews through power
Generally, be careful of CPU and GPU utilization in the driver; When you can, avoid operations that will prevent the CPU and GPU from entering the lowest power states, such as polling on intervals <= 1 ms
Power Optimization Schedule : Power Optimization Schedule Now through Beta 1: Microsoft will begin testing Avalon and Aero Glass for power consumption
Post Beta 1: Power management will be a major focus for Avalon until Windows Longhorn RTM
How you can help
Work with the Windows core power team to ensure they have instrumented mobile hardware for us to test
Begin doing power consumption testing on your video drivers and fix anything that causes unnecessary power drain
Summary : Summary Application and user experience both use the hardware
Two user experience tiers
Aero
Aero Glass
Remember Jim Allchin’s
keynote demo!
Mobile GPU power consumption
Community Resources : Community Resources Community Sites
http://www.microsoft.com/communities/default.mspx
List of Newsgroups
http://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx
Attend a free chat or Web cast
http://www.microsoft.com/communities/chats/default.mspx
http://www.microsoft.com/seminar/events/webcasts/default.mspx
Locate a local user group(s)
http://www.microsoft.com/communities/usergroups/default.mspx
Non-Microsoft Community Sites
http://www.microsoft.com/communities/related/default.mspx
Call To Action : Call To Action Give us feedback
Read the graphics hardware requirements white paper on the WinHEC CD
Find us at “Ask the Avalon Graphics Experts” this evening
Support the LDDM
Continue making GPUs that conserve power on mobiles