Advances in Display and Composition Architecture for Longhorn
Kam VedBratLead Program ManagerWindows Client Platform Teamkamv @ microsoft.comMicrosoft Corporation
Greg SchechterArchitectWindows Client Platform Teamgregsc @ microsoft.comMicrosoft Corporation
Session OutlineSession Outline
Windows Desktop Graphics Strategy
Windows codenamed “Longhorn” and Avalon
Desktop Composition and Avalon Graphics
Graphics Tiering & RequirementsDesktop Features and Graphics Tiers
Longhorn Graphics Requirements
Windows Desktop Graphics StrategyWindows Desktop Graphics Strategy
We see a great deal of innovation coming in the graphics hardware space in 2006 and for many years to come
Windows Client Graphics StrategyIncrease overall stability of the desktop with LDDM
Bring the benefits of Desktop Composition to as many new PC customers as possible.
The Windows experience will be refreshed on a more regular basis with respect to graphics
“Avalon” developer platform designed for modern graphics hardware
Avalon Platform
Demonstration
Desktop Experience – Built on AvalonDesktop Experience – Built on Avalon
Avalon powers the desktop experience and provides the next generation platform for Windows client applications and content
Part of WinFX, along with Indigo and WinFS
Hardware accelerated using Direct3D
Printing and remoting pipelines evolve to match new rendering model
Consistent programming model for user interface, graphics, media, and documents
Desktop CompositionDesktop Composition
The 10,000’ ViewWindow content is rendered to an off-screen buffer and composed to a back buffer which is then presented to the display
Enables improvements in…Quality: “High-Fidelity” Desktop
Productivity and Usability
Style: Visual ‘Pop’
Composition is more demanding on the hardware
Avalon GraphicsAvalon Graphics
Rendering of Avalon 2D primitives, text, imaging, and 3D goes through the Direct3D pipeline
On Longhorn, GDI and GDI+ content drawn in software and redirected when composition is running
Avalon content introduces new usage patterns for the 3D pipeline
Frequent texture changes
Large number of smaller primitives
Intermediate surfaces
DWM Application
Desktop Composition in DetailDesktop Composition in Detail
Win32 Applications render using GDI software rendering to a bitmap surface
Avalon & DX apps render to DX Shared surface on Present()
Redirection stencils out window borders to be rendered separately in DWM process
Input handling for DWM and applications done by User32
Rendering w/Avalon GraphicsHandles client area updates and processing asynchronously from the DWM
Owns composition loop, asynchronously from DWM thread
Window Frame rendering,Animations,DPI scaling,…
UxTheme
GDI
User32
Avalon Graphics
D3D
LDDM
Avalon GraphicsAvalon Graphics
CompositionCompositionNodeNode
RenderDataRenderData
Tree Traversal
2D
CompositionComposition
3D
Text
Imaging
Video
Audio
MediaFoundation
Property Animation
Composition(milcore/d3d)
Texture Surface
AudioSink
Visual/Element TreeVisual/Element Tree
Processing Queue
Composition Benefits: QualityComposition Benefits: Quality
Composition Benefits: QualityComposition Benefits: Quality
Resolution IndependenceResolution IndependenceOpportunity and ProblemOpportunity and Problem
150ppi laptops are here now15.4” screen; Under $1,500
~2.5x pixel density vs. 96ppi
204ppi monitors are here (~4.5x today’s typical 96ppi)
3840x2400; 22” diagonal
Applications are typically written using pixel-oriented units
That leads to problems…The Longhorn desktop corrects for some of this
Resolution Independence withResolution Independence withLonghorn & AvalonLonghorn & Avalon
High DPI ScalingThe Longhorn desktop will provide automatic scaling of legacy applications for high resolution monitorsThis is possible due to redirection architecture
Display IHVsPlease be sure to correctly implement EDID to provide Windows with accurate information on monitor dimensionsDo so by putting the correct information into all fields of the EDID structure
Avalon applications work in device independent pixelsMeasures of 1/96th of an inch Thus, a drawing on a 204ppi monitor will be the same physical size as on a 96ppi monitor
But it will be much more detailed and crisp
Solves the issue at the source, the API – apps written in terms of physical units
Composition Benefits: ProductivityComposition Benefits: Productivity
Enables new scenarios on High DPI & high resolution displays
Applications that are not DPI-aware are scaled on High DPI displays for improved usability
End-user option for managing screen real-estate with many windows open
Tools for managing large numbers of windowsWindow Selection
Clutter Removal
Composition Benefits: DWM Quality & Productivity
Demonstration
Graphics TieringGraphics Tiering
Allows tailored experiences focused on segments of the HW landscape
Windows scales across the breadth of the market
“One-size fits all” would leave hardware behind
Customer Segments:Value and Mainstream Graphics
Baseline: Upgrades & Deployments
Desktop Experiences and Graphics TiersDesktop Experiences and Graphics Tiers
To GoClassic
Baseline
Graphics Hardware
Value & Mainstream
Deliver Quality Improvements,Productivity Enhancements,and Visual “Pop”
Express:• LDDM/DX9• Composition-based DPI Scaling
Glass:• Glass effect in window frames• 3D Transition Animation & Effects
Broad HardwareCompatibility:• Looks like Longhorn• No Composition• No Effects• XPDDM or LDDM
Deployment:• Windows 2000 look• XPDDM or LDDM
Longhorn Graphics HW RequirementsLonghorn Graphics HW Requirements
Video Driver LDDM (Standard)
Color Depth 32bpp
GPU generation DX9
Memory allocated for graphics
Minimum: 64MB
Recommended: 128MB
256MB (1600x1200+)
Texture Update Bandwidth 2Gb/Second
Polygon Counts ~1.5M triangles / second
(one window is ~150 triangles)
Graphics hardware requirements are similar to what we presented at WinHEC in May 2004
Primary driver in graphics performance requirements is desktop composition (Premium)
Multi-Display and High DPIMulti-Display and High DPI
As display resolution increases, so does the amount of video memory and bandwidth required for Desktop Composition
High DPI
Multi-display
Example Dual Monitor at 1600x1200 resolutionDesktop flip chain takes 31MB by itself
Application windows will take even more memory
Integrated GraphicsIntegrated Graphics
LDDM and Performance are key prerequisites, not physical architecture
Clarifying how integrated graphics perform with Desktop Composition is a high priority for Microsoft
Minimal early testing on integrated platforms for desktops
Continued engagement is required for mobile platforms as they become available
Mobile PC Graphics TrendsMobile PC Graphics Trends
Aero-capable hardware is appearing in laptops today
Some, but not all mobile devices in ’06 will be Aero-capable
Configuring the Desktop ExperienceConfiguring the Desktop Experience
ManufacturersPre-configure the experience and set of end-user options available
System analysis tools to aid in designing specific configurations
End UsersChose between options made available by system provider
Built-in hardware analysis functionalityPlug & Play scenarios
Upgrade scenarios
Group Policy for IT Professionals
SummarySummary
XPDM or LDDM LDDM
Classic Window Manager Avalon Desktop Composition
Classic To Go Aero
Corporate Upgrades & Deployments
Consumer Upgrades,Ultra-Mobile,Ultra-Low-Cost
Mainstream & High-end Graphics
Productivity:
• DPI Scaling • 3D Window Management• Window Thumbnail Previews
Style:
• Drop Shadows
• Dynamic Highlights
• Glass
• Animations
Quality:
• Tear-Free Desktop
Windows 2000Look
Looks like Longhorn
Call to ActionCall to Action
Stable, Fast LDDM drivers are a pre-requisite for a great Aero experience on Longhorn
Tune your device drivers for DWM and Avalon workloads
Having proper EDID information is very important for DPI scaling
Community ResourcesCommunity Resources
Windows Hardware & Driver Central (WHDC)www.microsoft.com/whdc/default.mspx
Technical Communitieswww.microsoft.com/communities/products/default.mspx
Non-Microsoft Community Siteswww.microsoft.com/communities/related/default.mspx
Microsoft Public Newsgroupswww.microsoft.com/communities/newsgroups
Technical Chats and Webcastswww.microsoft.com/communities/chats/default.mspx
www.microsoft.com/webcasts
Microsoft Blogswww.microsoft.com/communities/blogs