Advances in Display and Composition Architecture for Longhorn Kam VedBrat Lead Program Manager Windows Client Platform Team kamv @ microsoft.com Microsoft Corporation Greg Schechter Architect Windows Client Platform Team gregsc.

Download Report

Transcript Advances in Display and Composition Architecture for Longhorn Kam VedBrat Lead Program Manager Windows Client Platform Team kamv @ microsoft.com Microsoft Corporation Greg Schechter Architect Windows Client Platform Team gregsc.

Advances in Display and Composition
Architecture for Longhorn
Kam VedBrat
Lead Program Manager
Windows Client Platform Team
kamv @ microsoft.com
Microsoft Corporation
Greg Schechter
Architect
Windows Client Platform Team
gregsc @ microsoft.com
Microsoft Corporation
Session Outline
Windows Desktop Graphics Strategy
Windows codenamed “Longhorn” and Avalon
Desktop Composition and Avalon Graphics
Graphics Tiering & Requirements
Desktop Features and Graphics Tiers
Longhorn Graphics Requirements
Windows 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 Strategy
Increase 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 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 Composition
The 10,000’ View
Window 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 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
Desktop 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 Graphics
Handles client area updates
and processing asynchronously
from the DWM
Owns composition loop,
asynchronously from DWM
thread
DWM Application
Window Frame rendering,
Animations,
DPI scaling,
…
UxTheme
Avalon Graphics
GDI
D3D
User32
LDDM
Avalon Graphics
Visual/Element Tree
Tree Traversal
2D
Property Animation
3D
Processing Queue
Composition
Node
Text
Composition
Composition
(milcore/d3d)
Texture
Surface
Imaging
RenderData
Video
Audio
Media
Foundation
Audio
Sink
Composition Benefits: Quality
Composition Benefits: Quality
Resolution Independence
Opportunity and Problem
150ppi laptops are here now
15.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 pixeloriented units
That leads to problems…
The Longhorn desktop corrects for some of this
Resolution Independence with
Longhorn & Avalon
High DPI Scaling
The Longhorn desktop will provide automatic scaling of legacy
applications for high resolution monitors
This is possible due to redirection architecture
Display IHVs
Please be sure to correctly implement EDID to provide Windows
with accurate information on monitor dimensions
Do so by putting the correct information into all fields of the EDID
structure
Avalon applications work in device independent pixels
Measures 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: 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 windows
Window Selection
Clutter Removal
Composition Benefits:
DWM Quality & Productivity
Demonstration
Graphics 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 Tiers
Value & Mainstream
Deliver Quality Improvements,
Productivity Enhancements,
and Visual “Pop”
Baseline
Classic
Deployment:
• Windows 2000 look
• XPDDM or LDDM
To Go
Broad Hardware
Compatibility:
• Looks like Longhorn
• No Composition
• No Effects
• XPDDM or LDDM
Express:
• LDDM/DX9
• Composition-based DPI Scaling
Glass:
• Glass effect in window frames
• 3D Transition Animation &
Effects
Longhorn Graphics HW Requirements
Graphics hardware requirements are similar to what we
presented at WinHEC in May 2004
Primary driver in graphics performance requirements is
desktop composition (Premium)
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)
Multi-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 resolution
Desktop flip chain takes 31MB by itself
Application windows will take even more memory
Integrated 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 Trends
Aero-capable hardware is appearing in
laptops today
Some, but not all mobile devices in ’06 will
be Aero-capable
Configuring the Desktop Experience
Manufacturers
Pre-configure the experience and set of end-user
options available
System analysis tools to aid in designing specific
configurations
End Users
Chose between options made available by system
provider
Built-in hardware analysis functionality
Plug & Play scenarios
Upgrade scenarios
Group Policy for IT Professionals
Summary
Classic
To Go
Aero
Corporate
Upgrades &
Deployments
Consumer
Upgrades,
Ultra-Mobile,
Ultra-Low-Cost
Mainstream &
High-end Graphics
Style:
• Drop Shadows
• Dynamic Highlights
• Glass
• Animations
Productivity:
Windows 2000
Look
Looks like Longhorn
• DPI Scaling
• 3D Window Management
• Window Thumbnail Previews
Quality:
• Tear-Free Desktop
Classic Window Manager
Avalon Desktop Composition
XPDM or LDDM
LDDM
Call 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 Resources
Windows Hardware & Driver Central (WHDC)
www.microsoft.com/whdc/default.mspx
Technical Communities
www.microsoft.com/communities/products/default.mspx
Non-Microsoft Community Sites
www.microsoft.com/communities/related/default.mspx
Microsoft Public Newsgroups
www.microsoft.com/communities/newsgroups
Technical Chats and Webcasts
www.microsoft.com/communities/chats/default.mspx
www.microsoft.com/webcasts
Microsoft Blogs
www.microsoft.com/communities/blogs