Title: Re-Architecting The Windows Display Process
1Re-Architecting The Windows Display Process
Bill PowellTechnical Evangelist Microsoft
Corporationbillpow_at_microsoft.com
2(No Transcript)
3Graphics And Display On Windows Is Evolving
- High-DPI LCD displays
- DVI digital connectors
- UGA
- Pixel Shaders in Direct3D
- sRGB and scRGB
- New Windows graphics infrastructure
4New OS Infrastructure
- Minimize parallel efforts
- DirectX, GDI, and GDI
- Trident and User
- New OS organization for post-Windows XP work
- Enable a new user experience
- Excitement for consumers
- Effectiveness for businesses
- Goal Motivate Windows and PC sales!!
5Agenda
- 930 - 935 Introduction
- 935 - 1005 Re-inventing the Windows
Experience - 1005 - 1020 New Hardware for a New Windows
Graphics Arch - 1020 - 1030 Break
- 1030 - 1110 High-DPI Displays
- 1110 - 1210 Color Management
- 1210 - 1230 UGA
6Reinventing The Windows User Experience
Christopher EvansDevelopment LeadWindows
User Experience TeamMicrosoft Corporation
7Elements Of The Windows XP Visual Style
- Richer use of color
- Textured controls and window frame elements
- Anti-aliased icons
- Significant use of alpha blending
- Rounded window frames
- Animations in webview and logon screen
- Subtle gradients in dialog windows
8Windows XP Visual Style
9Common Controls
- Buttons Slightly dimensional
- Slight shadow and highlight on base Putty surface
- Core Luna Blue and gold used as accents
10Common Controls
11(No Transcript)
12Icons
- Spec to be released soon on Icon style and
creation - 2D Illustrator Files
- Sizes
- 48x48
- 32x32
- 24x24 (Right side of Start Menu and Toolbars)
- 16x16
- Colors
- 24 bit with 8 bit Alpha, (gif movie gear)
- 8 bit (256 colors) with 1 bit transparency
- 4 bit (16 colors) with 1 bit transparency
- Perspective
- In larger sizes icons are perspective
13Luna Performance BarriersInitial implementation
- Initial Luna performance was slow
- Control rendering up to 1700 slower than
non-themed controls - Window frame resizing and painting were 240
slower
14Sacrifices For Performance
- Unrealized elements of the designers vision
- Full screen alpha blended effects
- Shadows behind active windows
- Common control animations
- Full window animations
- High DPI display limitations
15New Challenges For GDI
- Large amount of source content
- Content accessible across all processes
- Need to pattern using very large number of
patterns - Need to pattern alpha and transparent sources
16GDI Limitations
- No support for alpha/transparent brushes
- No support for sharing source content across
processes - Bad perf when attempting to manual tile content
- Spotty support in drivers for Alpha and
Transparency
17Temporary Workaround Used
- Themeing was forced to create composition buffer
- Strategic use of double buffering to avoid
flicker - Eliminates potential for hardware acceleration
- Some perf problems remain
18Future Windows Plans
- New GDI support for themeing
- Bitmap sharing across processes
- Support for streaming multiple primitives in
single call - Support for tiling from source bitmap
- Opens up acceleration path for IHVs
- Stream passed directly to driver
- Significant reduction of GDI overhead
19Call To ActionHardware Accelerating Luna
- AlphaBlend, TransparentBlt, BitBlt (SRCCOPY),
StretchBlt (COLORONCOLOR) - One-to-one and stretching of source for
AlphaBlend and TransparentBlt - System memory to video memory
- Video memory to video memory
- Device bitmap support
20Future DirectionsWhere do we want to go tomorrow?
21Future UI Direction
- Its time for a change
- New User Interface infrastructure to enable a
dramatic new user experience - Composited desktop
- Ubiquitous anti-aliasing
- Arbitrary layering/opacity of rendering
primitives (bitmap, vector, text, multimedia,
etc.) - Time based animation of any property
- Flexible layout including markup definition
22DemoFuturistic User Interface
23Summary
- New Windows XP visual styles are a dramatic
departure from Windows 95 experience - Significant performance improvements have been
made - More can be done in hardware to improve the
experience
24New Hardware For A New Windows Graphics
ArchitectureSteve WrightProgram
ManagerWindows Graphics and GamingMicrosoft
Corporation swright_at_microsoft.com
25What Do We Need?
- A short list of new hardware features will
enable a much richer graphics desktop
environment - Preemptible graphics engine with high priority
command queue - Asynchronous readback of device occlusion-test
state - Bicubic and programmable filter kernels
- Support deeper pixel formats and more display
surface memory - See also Michael Stokes talk on deep pixel
formats
26Preemptible Graphics Engine
- Our desktop manager and applications need to
share access to the GPU - Desktop manager will need to preempt the
application command and data stream - Enables the desktop to support for multiple
timed-delivery clients
27Asynchronous Occlusion-State Readback
- Occlusion-culling Popular technique for
optimizing application performance - Desktop manager can leverage occlusion info in
cross-process compositing contexts - Need asynchronous readback to avoid stalling
applications (particularly the desktop manager)
28Bicubic And Programmable Kernel Filters
- Bicubic is a desktop application quality
requirement - Bilinear is ok for natural content and
game-authored content - But poor for text and vector graphics
- Programmable kernels could be used to accelerate
anti-aliased text
29Raising The Bar
- Deeper pixel formats
- 32 bpp minimum with 8bpp alpha, 64 bpp desired
- See Michael Stokes color talk for what we can
do with 64 bpp! - More display memory
- Double buffering a 1200x1600 desktop at 32bpp
requires 16Mb - Expect 32Mb will be minimum given increased
densities and app demands for more buffers - More texel processing bandwidth
- Same desktop requires 1Gbps to composite desktop
at refresh rate Expect we can use well more than
that
30Call To Action
- Work with us as we refine our design and specify
DDIs for the new features - Sign up for DirectX 9 Betas
- Participate in DirectX 9 Design Reviews
- Add new features to graphics HW
31(No Transcript)
32Agenda
- 930 - 935 Introduction
- 935 - 1005 Re-inventing the Windows
Experience - 1005 - 1020 New Hardware for a New Windows
Graphics Arch - 1020 - 1030 Break
- 1030 - 1110 High-DPI Displays
- 1110 - 1210 Color Management
- 1210 - 1230 UGA
33High Pixel Density Displays Joe
CurleyMultimedia Development Dell Nick
KramerWindowsMicrosoft Corporation
34High DPI Is Real, Now
- LCD manufacturing enables
- Greater pixel densities
- Same cost per panel LCDs
- Market acceptance of high density
- Customer preference in PCs
- Ideal for Mapping, eBooks, Content creation
- Enables new device catagories
- High DPI enables new e-paper applications and
more flexible use of screen real estate
35Panel Deployment
- High density (gt 100 dpi) LCDs available today
- 15 UXGA (133 dpi) shipping today
- Greater densities imminent
- 200 dpi demonstrated for years
- 15 QXGA (171 dpi) 2002
- Driven by PC and non-PC markets
36With More On The Way
LCD DPI Trends 2000 - 2002
DPI
Source DisplaySearch
37(No Transcript)
38Whats The Problem
- 96 dpi CRT limit assumed normal
- Windows 9x includes warnings when scaled
- Users expect scaling to just work
- Windows XP doesnt warn users
39High DPI Issues
- Bitmaps, icons, and bitmapped fonts
- Fat-pixel replication
- Scaling of pixel based primitives
- Applications may require small fonts
- No single control knob to resolve
40High DPI in Windows Nick KramerProgram
ManagerWindowsMicrosoft Corporationnkramer_at_micr
osoft.com
41We Cant Fix It Alone
- The Win32 API is fundamentally pixel based
- This makes high DPI the applications problem
- Lots of compatibility concerns - we must tread
carefully
42Applications Are The Gating Factor
- Applications need to be updated for high DPI
- All the necessary APIs are also in Windows 2000
and Windows 98 - We did not add any new APIs to Windows XP for
high DPI - Set customer expectations not all software will
look good at high DPI
43What Can You Do?
- Test applications/applets in high DPI
- Avoid critical assumptions
- 43 aspect ratio
- 96 dpi
- Bitmaps, fonts, and icons
- Use multi-size images 32x32 and 64x64
- Use TrueType fonts
- Scale based on points, not pixels
- Use GDI for scaling
44High DPI In Windows XP
- Not perfect at high DPI
- Usable at 133 dpi
- Not always pretty, but usable
- Some adventurous folks use even higher densities
45Future Windows Plans
- More Shell improvements
- Graphic design that takes advantage of high DPI
- New libraries that make it easier to write high
DPI software - Layout managers that reduce the need to specify
control placement - Composable controls let you build big controls
out of small ones, which reduces the amount of
drawing logic written - Fewer opportunities to make mistakes
46Call To Action
- LCD makers
- Keep pushing up the pixel density
- Make stand-alone displays
- High DPI is not just for laptops
- Graphics card makers
- Support more pixels
- Find the bandwidth to drive more pixels
- Fix your bundled apps and applets
47Call To Action
- PC manufacturers
- Ship high DPI machines
- Push ISVs to support high DPI
- Set realistic expectations with customers
- ISVs
- Fix your software (see white paper)
- How can you exploit high DPI?
48Microsoft Color ManagementMichael Stokes
Program ManagerGDIMicrosoft Corporation
MiStokes_at_microsoft.com
49Color Affects Your Business!
- Color effected business
- E-commerce
- Desktop publishing
- Desktop presentations
- Digital photography
- Computer games
50Color Science
51Two Basic Color Spaces
- Physical based on photons
- Perceptual based on Human Visual System
52Causes Of Imaging Problems
53Lighting Simulation
54Imaging Problems Affect Everyone
Image on an LCD
Image on a CRT
55Color Management
56Current SituationToo Many Color Spaces
NTSC SMPTE EBU PAL SONY Konig
PHILIPS WINDOWS MACINTOSH IRIX ITU-R 709.BT
HTDV
57Current Situation Conflicting standards
ITU-R
VRML
JTC1
IETF
IEC
EBU
ISO
ASTM
CIE
VESA
58Gamut Mapping IssuesApples, Pears, Oranges, and
Pineapples or Displays, Printers, Theory, and
Reality
?
or
59Viewing Condition Issues
D50
D65
60Matching Experiment
?
?
?
Ref)
K. Braun, M.D.Fairchild
"Viewing Enviroment for Cross-Media Image
Comparisons"
61How Do You Know What Color Is Right?
Matches the Screen
Compare to Pantone Guide
Graphic Artists
Matches Iris at XYZ Co. (the Iris at ABC Co. is
different)
Office/Home/Web Users
Matches my Epson Stylus
Looks like Matchprint And Press output
62Whats The Solution?
63ICC Technical Overview
Embedded Profile
PCS (LABPaper)
PCS (LABPaper)
SrcDevice SrcViewing Condition
DstDevice DstViewing Condition
64sRGB Technical Overview
ITU-R 709.BT
sRGB
65The Right Solutions For The Right Markets
66sRGB A very successful color solution
- Open international standard
- IEC 61966-2-1
- Consistent and predictable color from sRGB-based
devices - Screen to print matching
- Simple, easy to use, and implement
- Broad IHV and ISV support
- HP, Sony, Olympus, Tek, Agfa,
- Pantone, Adobe, Microsoft, W3C,
- Content already broadly available in sRGB
67Windows ICC SolutionsFor professionals
- Flexible
- Controllable by applications or device drivers
- CMYK supported in PostScript
- Easier to use and appropriate automation
- Profiles associated with devices
- Persistent associations across applications
- State of the art ICC engine
- With third-party plug-in CMMs
- Support for proofing and distributed printing
- Screen, press, or print matching
68How Critical Is Color Accuracy?
Need images to look good
Accuracy is not critical except in our logo
Color should be right Blue is blue not
purple Red is red not orange
We scrapped a pile of Promotional material
because the logo was not close enough
Need good skin tones
Need good lightness/contrast
69WHQL WinColorNew for Windows XP
- WinColor Compliance Specification
- Metrics for color accuracy tolerance and quality
for imaging devices - Printers
- LCDs
- CRTs
- Designed for Windows logo program
- Similar guidelines on the horizon
- Other display technologies
- Scanners
- Cameras
70Reference Patches
71Optional Images
72Common History
- Weve been successfully reproducing color in our
industry for X years If you would only do it our
way (and use our proprietary product) all of your
problems would be solved!
73sRGB E-Commerce Demo
Source
Internet Web Site
Photo by DSC
LCD
CRT
LCD Projector
Color Printer
Display Devices
With sRGB Mode
RDF-191S or (RDS-221H) (NMV)
RDT-153A or MDT-152X (NMV)
LVP-X80 (Mitsubishi)
PM-900C (Epson)
74Looking Ahead
75scRGBA compatible superset of sRGB
- Submitted as open standard to IEC
- Linear, extended range 64 bit color space
- Color gamut and tonal range includes all
viewable colors - Print and display
- 16-bit precision per channel for better color
quality - 64 bits total with alpha channel
- Compatible with sRGB
- Same white point, primaries, viewing conditions
- Compatible with existing ICC workflows
76Call To Action
- Dont use ICC workflows for Consumer, eCommerce
or Enterprise markets - ISVs
- Save color data as sRGB (PNG, EXIF, etc.)
- Use common ICM 2.0 user interface dialog for
prepress applications - Printer and Display IHVs
- Make devices default to sRGB out of the box
- Use WQHL WinColor specifications and tests
- Capture IHVs
- Work with Microsoft on developing WinColor specs
77The Universal Graphics AdapterMike
TrickerTechnical Program ManagerWindows
Microsoft Corporationmiketri_at_microsoft.com
78Introducing UGA
- A proposal for a new graphics standard
- To eventually replace VGA
- Both BIOS and driver changes
- Initially works alongside VGA
- Firmware for both on the same device
- Will provide firmware services accessible at
runtime - Power management
79Why Replace VGA?
- Limited display resolutions
- 16-bit Real-mode x86 BIOS code
- 64k limit already hit
- Legacy I/O and memory
- Non-relocateable, hard to program
- Poor multi monitor support
- Issues with disabling VGA
80UGA Goals
- Platform independence
- Work with or without a VGA core
- Improved basic services
- Better than 640x480x16 color
- Continuous modes
- Highly reliable
- Simple, robust, and extensively tested!
- Firmware to be written in C
- Quicker development, simpler maintenance
81UGA Non-Goals
- Defining hardware standards
- Or hardware evolution
- High performance
- Minimal acceleration
- Support for smooth scrolling
- DirectX-aware
- IHVs still write the high performance drivers
82User Benefits
- Improved pre- and post-boot experiences
- Simplified multi-monitor configuration
- No need to struggle with VGA BIOSs
- High-availability server support
- Highly reliable hi-res driver
- Power-managed minimal driver for upgraded laptops
83IHV Benefits
- BIOS development in C not assembler
- Skill and tool availability
- BIOS can grow beyond 64k
- Support for new features
- Platform independence
- Can work without a VGA core
- Can use UGA base services in the
high-performance drivers
84OEM Benefits
- High resolution graphics from POST onwards
- Compelling splash screen/videos, etc.
- Make a great first impression
- Configuration tools
- High-availability system support
- Hi-res/hi-color but low risk
- Significant issue with 24x7 servers
85Costs
- Will require additional ROM
- To support VGA and UGA firmware side-by-side
- Initial limited availability forces up device
costs - Will require a new system BIOS
- That knows how to POST using UGA
- But not with dual-mode devices
- However, the target firmware size is less than
32k
86Operating System Support
- Microsoft will ship a UGA driver in the box
- Targeting Windows XP 1 for first release
- O/S will also provide
- UGA kernel services
- UGA HAL wrapping UGA and VGA devices
- UGA will be used for Safe Mode
- And wherever else VGA is used today
87Dual Mode Devices
- We wont change the world overnight
- Start out with a UGA BIOS wrapping VGA hardware
- A single device can appear as both UGA and VGA
- Can POST using VGA and then run as UGA once the
O/S boots
88Pure UGA Devices
- Require a new system BIOS that uses UGA to POST
- Can then to drop VGA support
- Simplify the GPU core
- Smaller, cheaper
89Schedule For Delivery
- Software-only in Windows XP 1
- Still requires VGA hardware to POST
- Working with IHVs to produce mixed-mode devices
- And then UGA-only devices
90Where Are We Now?
- UGA Specification now at v 0.5
- UGA firmware template done
- UGA to virtual machine binding in progress
- UGA kernel services in progress
- Virtual machine emulation in progress
91Call To Action
- Visit the Web site
- //www.microsoft.com/hwdev/display
- Review our design document
- Available today
- Join our discussion group
- Talk to us
- Work with us
- Contact us via uga_at_microsoft .com
92(No Transcript)