re-architecting the windows ® display process bill powell technical evangelist microsoft...

92
Re-Architecting The Re-Architecting The Windows Windows ® ® Display Display Process Process Bill Powell Bill Powell Technical Evangelist Technical Evangelist Microsoft Corporation Microsoft Corporation [email protected] [email protected]

Upload: maximilian-shannon-warren

Post on 11-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Re-Architecting The Re-Architecting The WindowsWindows®® Display Process Display Process

Bill PowellBill PowellTechnical Evangelist Technical Evangelist Microsoft CorporationMicrosoft [email protected]@microsoft.com

Page 2: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com
Page 3: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Graphics And Display Graphics And Display On Windows Is EvolvingOn Windows Is Evolving High-DPI LCD displaysHigh-DPI LCD displays DVI digital connectorsDVI digital connectors UGAUGA Pixel Shaders in Direct3DPixel Shaders in Direct3D®® sRGB and scRGBsRGB and scRGB New Windows graphics infrastructureNew Windows graphics infrastructure

Page 4: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

New OS InfrastructureNew OS Infrastructure

Minimize parallel effortsMinimize parallel efforts DirectXDirectX®®, GDI, and GDI+, GDI, and GDI+ Trident and UserTrident and User

New OS organization for New OS organization for post-Windows XP workpost-Windows XP work

Enable a new user experienceEnable a new user experience Excitement for consumersExcitement for consumers Effectiveness for businessesEffectiveness for businesses Goal: Motivate Windows and PC sales!!Goal: Motivate Windows and PC sales!!

Page 5: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

AgendaAgenda

9:30 - 9:359:30 - 9:35 IntroductionIntroduction

9:35 - 10:059:35 - 10:05 Re-inventing the Re-inventing the Windows ExperienceWindows Experience

10:05 - 10:20 10:05 - 10:20 New Hardware for a New New Hardware for a New Windows Graphics Windows Graphics

ArchArch

10:20 - 10:3010:20 - 10:30 BreakBreak

10:30 - 11:1010:30 - 11:10 High-DPI DisplaysHigh-DPI Displays

11:10 - 12:1011:10 - 12:10 Color ManagementColor Management

12:10 - 12:3012:10 - 12:30 UGAUGA

Page 6: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Reinventing The Windows Reinventing The Windows User Experience User Experience

Christopher EvansChristopher EvansDevelopment LeadDevelopment LeadWindows User Experience TeamWindows User Experience TeamMicrosoft CorporationMicrosoft Corporation

Page 7: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Elements Of The Elements Of The Windows XP Visual StyleWindows XP Visual Style Richer use of colorRicher use of color Textured controls and window frame elementsTextured controls and window frame elements Anti-aliased iconsAnti-aliased icons Significant use of alpha blendingSignificant use of alpha blending Rounded window framesRounded window frames Animations in webview and logon screenAnimations in webview and logon screen Subtle gradients in dialog windowsSubtle gradients in dialog windows

Page 8: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Windows XP Visual StyleWindows XP Visual Style

Page 9: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Common ControlsCommon Controls

Buttons: Slightly dimensional Buttons: Slightly dimensional Slight shadow and highlight Slight shadow and highlight

on base Putty surfaceon base Putty surface Core Luna Blue and gold Core Luna Blue and gold

used as accentsused as accents

Page 10: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Common ControlsCommon Controls

““Grippies” Grippies” and and dividersdividers

Page 11: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com
Page 12: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

IconsIcons

Spec to be released soon on Icon style and creationSpec to be released soon on Icon style and creation 2D Illustrator Files2D Illustrator Files Sizes: Sizes:

48x48 48x48 32x32 32x32 24x24 – (Right side of Start Menu and Toolbars)24x24 – (Right side of Start Menu and Toolbars) 16x16 16x16

Colors Colors 24 bit with 8 bit Alpha, (gif movie gear)24 bit with 8 bit Alpha, (gif movie gear) 8 bit (256 colors) with 1 bit transparency8 bit (256 colors) with 1 bit transparency 4 bit (16 colors) with 1 bit transparency4 bit (16 colors) with 1 bit transparency

PerspectivePerspective In larger sizes icons are perspectiveIn larger sizes icons are perspective

Page 13: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Luna Performance BarriersLuna Performance BarriersInitial implementationInitial implementation

Initial Luna performance was slowInitial Luna performance was slow Control rendering up to 1700% slower Control rendering up to 1700% slower

than non-themed controlsthan non-themed controls Window frame resizing and painting Window frame resizing and painting

were 240% slowerwere 240% slower

Page 14: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Sacrifices For Performance Sacrifices For Performance

Unrealized elements of the Unrealized elements of the designers’ vision:designers’ vision: Full screen alpha blended effectsFull screen alpha blended effects Shadows behind active windowsShadows behind active windows Common control animationsCommon control animations Full window animationsFull window animations High DPI display limitationsHigh DPI display limitations

Page 15: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

New Challenges For GDINew Challenges For GDI

Large amount of source contentLarge amount of source content Content accessible across Content accessible across

all processesall processes Need to pattern using very large Need to pattern using very large

number of patternsnumber of patterns Need to pattern alpha and Need to pattern alpha and

transparent sourcestransparent sources

Page 16: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

GDI LimitationsGDI Limitations

No support for alpha/transparent No support for alpha/transparent brushesbrushes

No support for sharing source No support for sharing source content across processescontent across processes

Bad perf when attempting to Bad perf when attempting to manual tile contentmanual tile content

Spotty support in drivers Spotty support in drivers for Alpha and Transparencyfor Alpha and Transparency

Page 17: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Temporary Workaround UsedTemporary Workaround Used

Themeing was forced to create Themeing was forced to create composition buffercomposition buffer

Strategic use of double buffering Strategic use of double buffering to avoid flickerto avoid flicker

Eliminates potential for hardware Eliminates potential for hardware accelerationacceleration

Some perf problems remainSome perf problems remain

Page 18: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Future Windows PlansFuture Windows Plans

New GDI support for themeingNew GDI support for themeing Bitmap sharing across processesBitmap sharing across processes Support for streaming multiple Support for streaming multiple

primitives in single callprimitives in single call Support for tiling from source bitmapSupport for tiling from source bitmap

Opens up acceleration path for IHVsOpens up acceleration path for IHVs Stream passed directly to driverStream passed directly to driver Significant reduction of GDI overheadSignificant reduction of GDI overhead

Page 19: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Call To ActionCall To ActionHardware Accelerating LunaHardware Accelerating Luna

AlphaBlend, TransparentBlt, BitBlt AlphaBlend, TransparentBlt, BitBlt (SRCCOPY), StretchBlt (SRCCOPY), StretchBlt (COLORONCOLOR)(COLORONCOLOR) One-to-one and stretching of source One-to-one and stretching of source

for AlphaBlend and TransparentBltfor AlphaBlend and TransparentBlt System memory to video memorySystem memory to video memory Video memory to video memoryVideo memory to video memory Device bitmap supportDevice bitmap support

Page 20: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Future DirectionsFuture DirectionsWhere do we want to go tomorrow?Where do we want to go tomorrow?

Page 21: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Future UI DirectionFuture UI Direction

It’s time for a changeIt’s time for a change New User Interface infrastructure to New User Interface infrastructure to

enable a dramatic new user experienceenable a dramatic new user experience Composited desktopComposited desktop Ubiquitous anti-aliasingUbiquitous anti-aliasing Arbitrary layering/opacity of rendering Arbitrary layering/opacity of rendering

primitives (bitmap, vector, text, primitives (bitmap, vector, text, multimedia, etc.)multimedia, etc.)

Time based animation of any propertyTime based animation of any property Flexible layout including markup definitionFlexible layout including markup definition

Page 22: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

DemoDemoFuturistic User InterfaceFuturistic User Interface

Page 23: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

SummarySummary

New Windows XP visual styles are New Windows XP visual styles are a dramatic departure from a dramatic departure from Windows 95 experienceWindows 95 experience

Significant performance Significant performance improvements have been madeimprovements have been made

More can be done in hardware to More can be done in hardware to improve the experienceimprove the experience

Page 24: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

New Hardware For A New New Hardware For A New Windows Graphics Windows Graphics ArchitectureArchitecture

Steve WrightSteve WrightProgram ManagerProgram ManagerWindows Graphics and GamingWindows Graphics and GamingMicrosoft CorporationMicrosoft [email protected]@microsoft.com

Page 25: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

What Do We Need?What Do We Need?

A short list of new hardware features A short list of new hardware features will enable a much richer graphics will enable a much richer graphics desktop environmentdesktop environment Preemptible graphics engine with high priority Preemptible graphics engine with high priority

command queuecommand queue Asynchronous readback of device Asynchronous readback of device

occlusion-test stateocclusion-test state Bicubic and programmable filter kernelsBicubic and programmable filter kernels

Support deeper pixel formats and more Support deeper pixel formats and more display surface memorydisplay surface memory See also Michael Stokes’ talk on deep pixel formatsSee also Michael Stokes’ talk on deep pixel formats

Page 26: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Preemptible Graphics Preemptible Graphics EngineEngine Our desktop manager and applications Our desktop manager and applications

need to share access to the GPUneed to share access to the GPU Desktop manager will need to preempt the Desktop manager will need to preempt the

application command and data streamapplication command and data stream Enables the desktop to support for multiple Enables the desktop to support for multiple

timed-delivery clientstimed-delivery clients

Page 27: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Asynchronous Occlusion-Asynchronous Occlusion-State ReadbackState Readback ““Occlusion-culling”: Popular technique Occlusion-culling”: Popular technique

for optimizing application performancefor optimizing application performance Desktop manager can leverage Desktop manager can leverage

occlusion info in cross-process occlusion info in cross-process compositing contextscompositing contexts

Need asynchronous readback to avoid Need asynchronous readback to avoid stalling applications (particularly the stalling applications (particularly the desktop manager)desktop manager)

Page 28: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Bicubic And Programmable Bicubic And Programmable Kernel FiltersKernel Filters Bicubic is a desktop application Bicubic is a desktop application

quality requirement:quality requirement: Bilinear is ok for “natural” content and Bilinear is ok for “natural” content and

game-authored contentgame-authored content But poor for text and “vector” graphicsBut poor for text and “vector” graphics

Programmable kernels could be used Programmable kernels could be used to accelerate anti-aliased textto accelerate anti-aliased text

Page 29: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Raising The BarRaising The Bar

Deeper pixel formats:Deeper pixel formats: 32 bpp minimum with 8bpp alpha, 64 bpp desired32 bpp minimum with 8bpp alpha, 64 bpp desired See Michael Stokes’ color talk for what we can See Michael Stokes’ color talk for what we can

do with 64 bpp!do with 64 bpp! More display memory: More display memory:

Double buffering a 1200x1600 desktop at 32bpp Double buffering a 1200x1600 desktop at 32bpp requires 16Mbrequires 16Mb

Expect 32Mb will be minimum given increased Expect 32Mb will be minimum given increased densities and app demands for more buffersdensities and app demands for more buffers

More texel processing bandwidthMore texel processing bandwidth Same desktop requires 1Gbps to composite Same desktop requires 1Gbps to composite

desktop at refresh rate; Expect we can use well desktop at refresh rate; Expect we can use well more than thatmore than that

Page 30: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Call To ActionCall To Action

Work with us as we refine our design Work with us as we refine our design and specify DDIs for the new features and specify DDIs for the new features Sign up for DirectX 9 BetasSign up for DirectX 9 Betas Participate in DirectX 9 Design ReviewsParticipate in DirectX 9 Design Reviews

Add new features to graphics HWAdd new features to graphics HW

Page 31: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com
Page 32: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

AgendaAgenda

9:30 - 9:359:30 - 9:35 IntroductionIntroduction

9:35 - 10:059:35 - 10:05 Re-inventing the Re-inventing the Windows ExperienceWindows Experience

10:05 - 10:20 10:05 - 10:20 New Hardware for a New New Hardware for a New Windows Graphics Windows Graphics

ArchArch

10:20 - 10:3010:20 - 10:30 BreakBreak

10:30 - 11:1010:30 - 11:10 High-DPI DisplaysHigh-DPI Displays

11:10 - 12:1011:10 - 12:10 Color ManagementColor Management

12:10 - 12:3012:10 - 12:30 UGAUGA

Page 33: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

High Pixel Density Displays High Pixel Density Displays

Joe CurleyJoe CurleyMultimedia Development Multimedia Development DellDell

Nick KramerNick KramerWindowsWindowsMicrosoft CorporationMicrosoft Corporation

Page 34: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

High DPI Is Real, NowHigh DPI Is Real, Now

LCD manufacturing enables:LCD manufacturing enables: Greater pixel densities Greater pixel densities Same cost per panel LCDs Same cost per panel LCDs

Market acceptance of high densityMarket acceptance of high density Customer preference in PCsCustomer preference in PCs Ideal for Mapping, eBooks, Content creationIdeal for Mapping, eBooks, Content creation Enables new device catagoriesEnables new device catagories

High DPI enables new e-paper applications High DPI enables new e-paper applications and more flexible use of screen real estateand more flexible use of screen real estate

Page 35: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Panel DeploymentPanel Deployment

High density (> 100 dpi) LCDs High density (> 100 dpi) LCDs available todayavailable today 15” UXGA (133 dpi) – shipping today15” UXGA (133 dpi) – shipping today

Greater densities imminent Greater densities imminent 200+ dpi demonstrated for years200+ dpi demonstrated for years 15” QXGA (171 dpi) – 200215” QXGA (171 dpi) – 2002

Driven by PC and non-PC marketsDriven by PC and non-PC markets

Page 36: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

1Q

00

2Q

00

3Q

00

4Q

00

1Q

01

2Q

01

3Q

01

4Q

01

1Q

02

2Q

02

3Q

02

4Q

02

0.0%

10.0%

20.0%

30.0%

40.0%

50.0%

60.0%

70.0%

80.0%

90.0%

100.0%

140=< X < 150

130=< X < 140

120=< X < 130

110=< X < 120

100=< X < 110

90=< X < 100

80=< X < 90

1Q

00

2Q

00

3Q

00

4Q

00

1Q

01

2Q

01

3Q

01

4Q

01

1Q

02

2Q

02

3Q

02

4Q

02

0.0%

10.0%

20.0%

30.0%

40.0%

50.0%

60.0%

70.0%

80.0%

90.0%

100.0%

140=< X < 150

130=< X < 140

120=< X < 130

110=< X < 120

100=< X < 110

90=< X < 100

80=< X < 90

LCD DPI Trends 2000 - 2002LCD DPI Trends 2000 - 2002

DPI

Source: DisplaySearchSource: DisplaySearch

……With More On The WayWith More On The Way

Page 37: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com
Page 38: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

What’s The ProblemWhat’s The Problem

96 dpi CRT limit assumed “normal”96 dpi CRT limit assumed “normal” Windows 9x includes warnings Windows 9x includes warnings

when scaledwhen scaled

Users expect scaling to “just work”Users expect scaling to “just work” Windows XP doesn’t warn usersWindows XP doesn’t warn users

Page 39: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

High DPI IssuesHigh DPI Issues

Bitmaps, icons, and bitmapped fontsBitmaps, icons, and bitmapped fonts Fat-pixel replicationFat-pixel replication Scaling of pixel based primitivesScaling of pixel based primitives

Applications may require “small” fontsApplications may require “small” fonts

No single control knob to resolveNo single control knob to resolve

Page 40: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

High DPI in WindowsHigh DPI in Windows

Nick KramerNick KramerProgram ManagerProgram ManagerWindowsWindowsMicrosoft CorporationMicrosoft [email protected]@microsoft.com

Page 41: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

We Can’t Fix It AloneWe Can’t Fix It Alone

The Win32The Win32®® API is fundamentally API is fundamentally pixel basedpixel based

This makes high DPI the This makes high DPI the application’s problemapplication’s problem

Lots of compatibility concerns - Lots of compatibility concerns - we must tread carefullywe must tread carefully

Page 42: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Applications Are Applications Are The Gating FactorThe Gating Factor Applications need to be updated Applications need to be updated

for high DPIfor high DPI All the necessary APIs are also in All the necessary APIs are also in

Windows 2000 and Windows 98Windows 2000 and Windows 98 We did not add any new APIs to We did not add any new APIs to

Windows XP for high DPIWindows XP for high DPI

Set customer expectations – not all Set customer expectations – not all software will look good at high DPIsoftware will look good at high DPI

Page 43: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

What Can You Do?What Can You Do?

Test applications/applets in high DPITest applications/applets in high DPI Avoid critical assumptionsAvoid critical assumptions

4:3 aspect ratio4:3 aspect ratio 96 dpi96 dpi

Bitmaps, fonts, and iconsBitmaps, fonts, and icons Use multi-size images: 32x32 and 64x64Use multi-size images: 32x32 and 64x64 Use TrueTypeUse TrueType®® fonts fonts Scale based on points, not pixelsScale based on points, not pixels Use GDI+ for scalingUse GDI+ for scaling

Page 44: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

High DPI In Windows XP High DPI In Windows XP

Not perfect at high DPINot perfect at high DPI Usable at 133 dpiUsable at 133 dpi

Not always pretty, but usableNot always pretty, but usable

Some adventurous folks use Some adventurous folks use even higher densitieseven higher densities

Page 45: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Future Windows PlansFuture Windows Plans

More Shell improvementsMore Shell improvements Graphic design that takes advantage Graphic design that takes advantage

of high DPIof high DPI New libraries that make it easier New libraries that make it easier

to write high DPI softwareto write high DPI software Layout managers that reduce the need Layout managers that reduce the need

to specify control placementto specify control placement Composable controls let you build big controls Composable controls let you build big controls

out of small ones, which reduces the amount out of small ones, which reduces the amount of drawing logic writtenof drawing logic written

Fewer opportunities to make mistakesFewer opportunities to make mistakes

Page 46: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Call To ActionCall To Action

LCD makers LCD makers Keep pushing up the pixel densityKeep pushing up the pixel density Make stand-alone displaysMake stand-alone displays

High DPI is not just for laptopsHigh DPI is not just for laptops

Graphics card makersGraphics card makers Support more pixelsSupport more pixels Find the bandwidth to drive more pixelsFind the bandwidth to drive more pixels Fix your bundled apps and appletsFix your bundled apps and applets

Page 47: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Call To ActionCall To Action

PC manufacturersPC manufacturers Ship high DPI machinesShip high DPI machines Push ISVs to support high DPIPush ISVs to support high DPI Set realistic expectations with customersSet realistic expectations with customers

ISVsISVs Fix your software (see white paper)Fix your software (see white paper) How can you exploit high DPI?How can you exploit high DPI?

Page 48: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Microsoft Color ManagementMicrosoft Color Management

Michael Stokes Michael Stokes Program ManagerProgram ManagerGDI+GDI+Microsoft Corporation Microsoft Corporation [email protected]@microsoft.com

Page 49: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Color Affects Your Color Affects Your Business!Business! Color effected businessColor effected business

E-commerceE-commerce Desktop publishingDesktop publishing Desktop presentationsDesktop presentations Digital photographyDigital photography Computer gamesComputer games

Page 50: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Color ScienceColor Science

Page 51: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Two Basic Color SpacesTwo Basic Color Spaces

Physical based on photonsPhysical based on photons

Perceptual based on Human Perceptual based on Human Visual SystemVisual System

Page 52: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Causes Of Imaging Causes Of Imaging ProblemsProblems

Page 53: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Lighting SimulationLighting Simulation

Page 54: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Imaging Problems Affect Imaging Problems Affect EveryoneEveryone

Image on a CRTImage on a CRT Image on an LCDImage on an LCD

Page 55: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Color ManagementColor Management

Page 56: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Current SituationCurrent SituationToo Many Color SpacesToo Many Color Spaces

NTSC SMPTE EBU PALNTSC SMPTE EBU PAL

SONY Konig PHILIPSSONY Konig PHILIPS

WINDOWS MACINTOSH IRIXWINDOWS MACINTOSH IRIX

ITU-R 709.BT HTDVITU-R 709.BT HTDV

Page 57: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Current Situation Current Situation Conflicting standardsConflicting standards

ISOISO

IECIEC

ITU-RITU-R

JTC1JTC1

CIECIE

IETFIETF

VESAVESA

VRMLVRML

ASTMASTM

EBUEBU

Page 58: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Gamut Mapping IssuesGamut Mapping IssuesApples, Pears, Oranges, and Apples, Pears, Oranges, and Pineapples or… Pineapples or… Displays, Printers, Theory, and RealityDisplays, Printers, Theory, and Reality

SliceSlice

Projection (chromaticy chart)Projection (chromaticy chart)

Page 59: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Viewing Condition IssuesViewing Condition Issues

D50D50

D65D65

Page 60: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Matching ExperimentMatching Experiment

Monitor

Light Booth

○ X

○SCH (Successive Haploscopic)

SMH (Simultaneous Haploscopic)

Monitor

Light Booth

○ ○△SMB (Simultaneous Binocular)

Monitor

Light Booth

XX

○MEM (Memory Matching)

SCB (Successive Binocular)

Ref) K. Braun, M.D.Fairchild "Viewing Enviroment for Cross-Media Image Comparisons"

Monitor

Ambient Light

○ ○○

Page 61: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

How Do You Know What How Do You Know What Color Is “Right”?Color Is “Right”?

Matches my Matches my Epson StylusEpson Stylus

Compare to Compare to Pantone GuidePantone Guide

Looks like MatchprintLooks like MatchprintAnd Press outputAnd Press output

Matches Iris at XYZ Co.Matches Iris at XYZ Co.(the Iris at ABC Co. (the Iris at ABC Co.

is different)is different)

Matches the Matches the ScreenScreen

Office/Home/WebOffice/Home/Web UsersUsers

Graphic ArtistsGraphic Artists

Page 62: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

What’s The Solution?What’s The Solution?

Page 63: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

ICC – Technical OverviewICC – Technical Overview

SrcSrcDeviceDevice++

SrcSrcViewing ConditionViewing Condition

PCSPCS(LAB+Paper)(LAB+Paper)

PCSPCS(LAB+Paper)(LAB+Paper)

EmbeddedEmbeddedProfileProfile

DstDstDeviceDevice++

DstDstViewing ConditionViewing Condition

Page 64: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

sRGB – Technical OverviewsRGB – Technical Overview

ITU-R 709.BTITU-R 709.BT

sRGBsRGB

Page 65: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Professional marketsProfessional marketsICC forICC for

Provides flexibility, control, features…Provides flexibility, control, features…

Consumer marketsConsumer marketssRGB forsRGB for

Provides ease of use, simplicity, compatibilityProvides ease of use, simplicity, compatibility

scRGB for Prosumer marketsscRGB for Prosumer marketsProvides extended gamut, tonal range and bit precision Provides extended gamut, tonal range and bit precision

and maintains ease of use and simplicityand maintains ease of use and simplicity

The Right Solutions For The The Right Solutions For The

Right MarketsRight Markets

Page 66: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

sRGB sRGB A very successful color solutionA very successful color solution

Open international standard Open international standard IEC 61966-2-1IEC 61966-2-1

Consistent and predictable color from Consistent and predictable color from sRGB-based devices sRGB-based devices

Screen to print matching Screen to print matching Simple, easy to use, and implementSimple, easy to use, and implement Broad IHV and ISV supportBroad IHV and ISV support

HP, Sony, Olympus, Tek, Agfa, …HP, Sony, Olympus, Tek, Agfa, … Pantone, Adobe, Microsoft, W3C, …Pantone, Adobe, Microsoft, W3C, …

Content already broadly available in sRGBContent already broadly available in sRGB

Page 67: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Windows ICC SolutionsWindows ICC SolutionsFor professionalsFor professionals

FlexibleFlexible Controllable by applications or device driversControllable by applications or device drivers CMYK supported in PostScriptCMYK supported in PostScript

Easier to use and appropriate automationEasier to use and appropriate automation Profiles associated with devicesProfiles associated with devices Persistent associations across applicationsPersistent associations across applications

State of the art ICC engineState of the art ICC engine With third-party plug-in CMMsWith third-party plug-in CMMs

Support for proofing and distributed printingSupport for proofing and distributed printing Screen, press, or print matchingScreen, press, or print matching

Page 68: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

How Critical Is How Critical Is Color Accuracy?Color Accuracy?““Need images to look good”Need images to look good”

““Color should be right:Color should be right:Blue is blue – not purpleBlue is blue – not purpleRed is red – not orange”Red is red – not orange”

““Need good lightness/contrast”Need good lightness/contrast”

““Need good skin tones”Need good skin tones”

““Accuracy is not critical – Accuracy is not critical – except in our logo”except in our logo”

““We scrapped a pile ofWe scrapped a pile ofPromotional material becausePromotional material becausethe logo was not close enough”the logo was not close enough”

Page 69: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

WHQL WinColorWHQL WinColorNew for Windows XPNew for Windows XP

WinColor Compliance Specification WinColor Compliance Specification Metrics for color accuracy tolerance Metrics for color accuracy tolerance

and quality for imaging devicesand quality for imaging devices Printers Printers LCDsLCDs CRTsCRTs Designed for Windows logo programDesigned for Windows logo program

Similar guidelines on the horizonSimilar guidelines on the horizon Other display technologiesOther display technologies ScannersScanners CamerasCameras

Page 70: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Reference PatchesReference Patches

Page 71: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Optional ImagesOptional Images

Page 72: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Common HistoryCommon History

““We’ve been successfully reproducing We’ve been successfully reproducing color in our industry for X years; If color in our industry for X years; If you would only do it our way (and use you would only do it our way (and use our proprietary product) all of your our proprietary product) all of your problems would be solved!”problems would be solved!”

Page 73: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

LCDLCD

RDT-153ARDT-153A

oror

MDT-152XMDT-152X

(NMV)(NMV)

RDF-191SRDF-191S

oror

(RDS-(RDS-221H)221H)

(NMV)(NMV)

CRCRTT

LCD ProjectorLCD Projector

LVP-X80LVP-X80

(Mitsubishi(Mitsubishi))

Color Color PrinterPrinter

PM-900CPM-900C

(Epson)(Epson)

Display Display DevicesDevices

*With*With sRGBsRGB ModeMode

Internet Web Internet Web SiteSite Photo by Photo by

DSCDSC

SourceSource

sRGB E-Commerce DemosRGB E-Commerce Demo

Page 74: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Looking Ahead…Looking Ahead…

Page 75: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

scRGBscRGBA compatible superset of sRGBA compatible superset of sRGB

Submitted as open standard to IECSubmitted as open standard to IEC Linear, extended range 64 bit color spaceLinear, extended range 64 bit color space Color gamut and tonal range includes all Color gamut and tonal range includes all

viewable colorsviewable colors Print and displayPrint and display

16-bit precision per channel for better color quality 16-bit precision per channel for better color quality 64 bits total with alpha channel 64 bits total with alpha channel

Compatible with sRGBCompatible with sRGB Same white point, primaries, viewing conditionsSame white point, primaries, viewing conditions

Compatible with existing ICC workflowsCompatible with existing ICC workflows

Page 76: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Call To ActionCall To Action

Don’t use ICC workflows for Consumer, Don’t use ICC workflows for Consumer, eCommerce or Enterprise marketseCommerce or Enterprise markets

ISVsISVs Save color data as sRGB (PNG, EXIF, etc.)Save color data as sRGB (PNG, EXIF, etc.) Use common ICM 2.0 user interface dialog for Use common ICM 2.0 user interface dialog for

prepress applicationsprepress applications

Printer and Display IHVsPrinter and Display IHVs Make devices default to sRGB out of the boxMake devices default to sRGB out of the box Use WQHL WinColor specifications and testsUse WQHL WinColor specifications and tests

Capture IHVsCapture IHVs Work with Microsoft on developing WinColor specsWork with Microsoft on developing WinColor specs

Page 77: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

The Universal Graphics The Universal Graphics AdapterAdapter

Mike TrickerMike TrickerTechnical Program ManagerTechnical Program ManagerWindows Windows Microsoft CorporationMicrosoft [email protected]@microsoft.com

Page 78: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Introducing UGAIntroducing UGA

A proposal for a new graphics standardA proposal for a new graphics standard To eventually replace VGATo eventually replace VGA

Both BIOS and driver changesBoth BIOS and driver changes

Initially works alongside VGAInitially works alongside VGA Firmware for both on the same deviceFirmware for both on the same device

Will provide firmware services Will provide firmware services accessible at runtimeaccessible at runtime Power managementPower management

Page 79: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Why Replace VGA?Why Replace VGA?

Limited display resolutionsLimited display resolutions 16-bit Real-mode x86 BIOS code16-bit Real-mode x86 BIOS code

64k limit already hit64k limit already hit

Legacy I/O and memoryLegacy I/O and memory Non-relocateable, hard to programNon-relocateable, hard to program

Poor multi monitor supportPoor multi monitor support Issues with disabling VGAIssues with disabling VGA

Page 80: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

UGA GoalsUGA Goals

Platform independencePlatform independence Work with or without a VGA coreWork with or without a VGA core Improved basic servicesImproved basic services

Better than 640x480x16 colorBetter than 640x480x16 color Continuous modesContinuous modes

Highly reliableHighly reliable Simple, robust, and extensively tested!Simple, robust, and extensively tested!

Firmware to be written in CFirmware to be written in C Quicker development, simpler maintenanceQuicker development, simpler maintenance

Page 81: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

UGA Non-GoalsUGA Non-Goals

Defining hardware standards Defining hardware standards Or hardware evolutionOr hardware evolution

High performanceHigh performance Minimal accelerationMinimal acceleration

Support for smooth scrollingSupport for smooth scrolling

DirectX-awareDirectX-aware IHVs still write the high IHVs still write the high

performance driversperformance drivers

Page 82: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

User BenefitsUser Benefits

Improved pre- and post-boot Improved pre- and post-boot experiencesexperiences

Simplified multi-monitor configurationSimplified multi-monitor configuration No need to struggle with VGA BIOSsNo need to struggle with VGA BIOSs

High-availability server supportHigh-availability server support Highly reliable hi-res driverHighly reliable hi-res driver

Power-managed minimal driver for Power-managed minimal driver for upgraded laptopsupgraded laptops

Page 83: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

IHV BenefitsIHV Benefits

BIOS development in C not assemblerBIOS development in C not assembler Skill and tool availabilitySkill and tool availability

BIOS can grow beyond 64kBIOS can grow beyond 64k Support for new featuresSupport for new features

Platform independencePlatform independence Can work without a VGA coreCan work without a VGA core Can use UGA base services in the Can use UGA base services in the

high-performance drivershigh-performance drivers

Page 84: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

OEM BenefitsOEM Benefits

High resolution graphics from High resolution graphics from POST onwardsPOST onwards Compelling splash screen/videos, etc.Compelling splash screen/videos, etc. Make a great first impressionMake a great first impression Configuration toolsConfiguration tools

High-availability system supportHigh-availability system support Hi-res/hi-color but low riskHi-res/hi-color but low risk Significant issue with 24x7 serversSignificant issue with 24x7 servers

Page 85: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

CostsCosts

Will require additional ROMWill require additional ROM To support VGA and UGA firmware To support VGA and UGA firmware

side-by-sideside-by-side

Initial limited availability forces up Initial limited availability forces up device costsdevice costs

Will require a new system BIOSWill require a new system BIOS That knows how to POST using UGAThat knows how to POST using UGA But not with dual-mode devicesBut not with dual-mode devices

However, the target firmware size is However, the target firmware size is less than 32k…less than 32k…

Page 86: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Operating System SupportOperating System Support

Microsoft will ship a UGA driver Microsoft will ship a UGA driver in the boxin the box Targeting Windows XP + 1 for first releaseTargeting Windows XP + 1 for first release

O/S will also provideO/S will also provide UGA kernel servicesUGA kernel services UGA HAL wrapping UGA and VGA devicesUGA HAL wrapping UGA and VGA devices

UGA will be used for Safe ModeUGA will be used for Safe Mode And wherever else VGA is used todayAnd wherever else VGA is used today

Page 87: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Dual Mode DevicesDual Mode Devices

We won’t change the world overnight…We won’t change the world overnight… Start out with a UGA BIOS wrapping Start out with a UGA BIOS wrapping

VGA hardwareVGA hardware A single device can appear A single device can appear

as both UGA and VGAas both UGA and VGA Can POST using VGA and then run Can POST using VGA and then run

as UGA once the O/S bootsas UGA once the O/S boots

Page 88: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Pure UGA DevicesPure UGA Devices

Require a new system BIOS that uses Require a new system BIOS that uses UGA to POSTUGA to POST

Can then to drop VGA supportCan then to drop VGA support Simplify the GPU coreSimplify the GPU core Smaller, cheaperSmaller, cheaper

Page 89: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Schedule For DeliverySchedule For Delivery

Software-only in Windows XP + 1Software-only in Windows XP + 1 Still requires VGA hardware to POSTStill requires VGA hardware to POST Working with IHVs to produce Working with IHVs to produce

mixed-mode devicesmixed-mode devices And then UGA-only devicesAnd then UGA-only devices

Page 90: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Where Are We Now?Where Are We Now?

UGA Specification now at v 0.5UGA Specification now at v 0.5 UGA firmware template doneUGA firmware template done UGA to virtual machine binding UGA to virtual machine binding

in progressin progress UGA kernel services in progressUGA kernel services in progress Virtual machine emulation in progressVirtual machine emulation in progress

Page 91: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com

Call To ActionCall To Action

Visit the Web siteVisit the Web site //www.microsoft.com/hwdev/display//www.microsoft.com/hwdev/display

Review our design documentReview our design document Available todayAvailable today

Join our discussion groupJoin our discussion group Talk to usTalk to us Work with usWork with us Contact us via: uga@microsoft .comContact us via: uga@microsoft .com

Page 92: Re-Architecting The Windows ® Display Process Bill Powell Technical Evangelist Microsoft Corporation billpow@microsoft.com