re-architecting the windows ® display process bill powell technical evangelist microsoft...
TRANSCRIPT
Re-Architecting The Re-Architecting The WindowsWindows®® Display Process Display Process
Bill PowellBill PowellTechnical Evangelist Technical Evangelist Microsoft CorporationMicrosoft [email protected]@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
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!!
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
Reinventing The Windows Reinventing The Windows User Experience User Experience
Christopher EvansChristopher EvansDevelopment LeadDevelopment LeadWindows User Experience TeamWindows User Experience TeamMicrosoft CorporationMicrosoft Corporation
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
Windows XP Visual StyleWindows XP Visual Style
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
Common ControlsCommon Controls
““Grippies” Grippies” and and dividersdividers
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
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
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
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
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
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
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
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
Future DirectionsFuture DirectionsWhere do we want to go tomorrow?Where do we want to go tomorrow?
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
DemoDemoFuturistic User InterfaceFuturistic User Interface
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
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
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
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
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)
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
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
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
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
High Pixel Density Displays High Pixel Density Displays
Joe CurleyJoe CurleyMultimedia Development Multimedia Development DellDell
Nick KramerNick KramerWindowsWindowsMicrosoft CorporationMicrosoft Corporation
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
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
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
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
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
High DPI in WindowsHigh DPI in Windows
Nick KramerNick KramerProgram ManagerProgram ManagerWindowsWindowsMicrosoft CorporationMicrosoft [email protected]@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
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
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
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
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
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
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?
Microsoft Color ManagementMicrosoft Color Management
Michael Stokes Michael Stokes Program ManagerProgram ManagerGDI+GDI+Microsoft Corporation Microsoft Corporation [email protected]@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
Color ScienceColor Science
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
Causes Of Imaging Causes Of Imaging ProblemsProblems
Lighting SimulationLighting Simulation
Imaging Problems Affect Imaging Problems Affect EveryoneEveryone
Image on a CRTImage on a CRT Image on an LCDImage on an LCD
Color ManagementColor Management
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
Current Situation Current Situation Conflicting standardsConflicting standards
ISOISO
IECIEC
ITU-RITU-R
JTC1JTC1
CIECIE
IETFIETF
VESAVESA
VRMLVRML
ASTMASTM
EBUEBU
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)
Viewing Condition IssuesViewing Condition Issues
D50D50
D65D65
Matching ExperimentMatching Experiment
Monitor
Light Booth
X
○ X
X
○
○SCH (Successive Haploscopic)
SMH (Simultaneous Haploscopic)
Monitor
Light Booth
○ ○△SMB (Simultaneous Binocular)
Monitor
Light Booth
X
XX
X
○
○MEM (Memory Matching)
SCB (Successive Binocular)
Ref) K. Braun, M.D.Fairchild "Viewing Enviroment for Cross-Media Image Comparisons"
Monitor
Ambient Light
○ ○○
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
What’s The Solution?What’s The Solution?
ICC – Technical OverviewICC – Technical Overview
SrcSrcDeviceDevice++
SrcSrcViewing ConditionViewing Condition
PCSPCS(LAB+Paper)(LAB+Paper)
PCSPCS(LAB+Paper)(LAB+Paper)
EmbeddedEmbeddedProfileProfile
DstDstDeviceDevice++
DstDstViewing ConditionViewing Condition
sRGB – Technical OverviewsRGB – Technical Overview
ITU-R 709.BTITU-R 709.BT
sRGBsRGB
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
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
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
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”
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
Reference PatchesReference Patches
Optional ImagesOptional Images
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!”
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
Looking Ahead…Looking Ahead…
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
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
The Universal Graphics The Universal Graphics AdapterAdapter
Mike TrickerMike TrickerTechnical Program ManagerTechnical Program ManagerWindows Windows Microsoft CorporationMicrosoft [email protected]@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
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
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
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
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
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
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
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…
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
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
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
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
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
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