Presentation is loading. Please wait.

Presentation is loading. Please wait.

Windows Graphics Architecture

Similar presentations


Presentation on theme: "Windows Graphics Architecture"— Presentation transcript:

1 Windows Graphics Architecture
4/20/2017 8:11 AM Windows Graphics Architecture Leonardo Blanco Development Lead Desktop and Graphics Team Microsoft Corporation © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Session Outline Windows graphics big picture
Windows Display Driver Model Rendering APIs (D3D, OpenGL, GDI) Device APIs (DXGI) Media APIs (DirectX Video Acceleration) Presentation APIs (WPF) Desktop Window Manager

3 The Vision Windows delivers unparalleled graphics and multimedia experience in all application areas Games Workstation (CAD, Content Creation, etc) Presentation Imaging Video Eagerly driving new technologies together with our hardware and software partners

4 Graphics/Gaming/Multimedia/ Presentation Stacks
Game (e.g. Halo) HEWS/DCC (e.g. Maya) Imaging (e.g. DIS) Video (e.g., WMP) Presentation (e.g. Office) User Application MCE Desktop WM Shell/UX Control Panels Help System Application IE 3rd party Game Engine WinForms WPF MFC/ATL Application Framework Splash DUser User WPF/E Avalon CoreUI Common Controls High-Level Abstraction Trident MS HTML Managed DirectX MILCore PIX/ DaVinci Media Foundation CLR Mid-Level Abstraction Windows Codecs D3DX/ HLSL WCS DShow GDI+ Low-Level Abstraction OpenGL Direct3D DXVA DDraw GDI DDI/user-mode Driver DDI/User Mode Driver Memory Management, Scheduling, Device Management Win32k kstream Kernel Display Controller 3D Engine 2D Engine/ De-interlace… Video Decode Video Encode Print Driver/ Hardware

5 Big Picture Simplified
Workstation (Inventor) Games (Oblivion) Imaging (PhotoViewer) Video (MediaPlayer) Presentation (Office) UI Frameworks Windows Presentation Foundation Windows Explorer Desktop Window Manager WIC PIX Media Foundation DShow MIL Text Layout Windows Color System GDI+ OpenGL Direct3D DXVA DXGI User GDI XPDM WDDM Print Terminal Server Remote Assistance …

6 Graphics Core In Windows Vista
Microsoft- written code IHV- written code WPF DWM GDI+ Media Foundation PIX WIC MIL OpenGL ICD GDI D3D <9 DX VA D3D9 D3D9 Ex D3D 10 DXGI OpenGL User-mode driver Common pipeline (DDI) User mode Kernel mode Kernel-mode driver Win32 Kernel DXG Kernel

7 Windows Display Driver Model
Microsoft- written code IHV- written code WPF DWM GDI+ Media Foundation PIX WIC MIL OpenGL ICD GDI D3D <9 DX VA D3D9 D3D9 Ex D3D 10 DXGI OpenGL User-mode driver Common pipeline (DDI) User mode Kernel mode Kernel-mode driver Win32 Kernel DXG Kernel

8 Windows Display Driver Model
Bedrock upon which all graphics are built Fundamental principle Graphics Just Works Re-architect entire driver stack Consolidate 10 years of evolution New driver model delivers Stability Security Availability (application virtualization) Performance

9 Windows Display Driver Model
Staged evolution of driver model WDDM 1.0 model supports current hardware E.g., pre-Windows Vista hardware Advanced model (WDDM 2.x) utilizes new hardware features Post Windows Vista More efficient virtualization Old Windows XP driver model still supported for compatibility No new features

10 Rendering APIs Lots to choose from Break into categories GDI/GDI+
DirectDraw Direct3D [3..10] OpenGL Windows Presentation Foundation Break into categories Legacy Mainline (GDI, Direct3D 9/9Ex) New (Direct3D 10, WPF)

11 GDI And GDI+ Microsoft- written code IHV- written code
WPF DWM GDI+ Media Foundation PIX WIC MIL OpenGL ICD GDI D3D <9 DX VA D3D9 D3D9 Ex D3D 10 DXGI OpenGL User-mode driver Common pipeline (DDI) User mode Kernel mode Kernel-mode driver Win32 Kernel DXG Kernel

12 GDI/GDI+ Workhorse for Windows
Presentation/UI, device control, etc Reduced hardware acceleration in Windows Vista Necessary to accomplish WDDM implementation Continue to invest in GDI in future Protect API investment Enhance where feasible

13 Legacy Direct3D APIs Microsoft- written code IHV- written code
WPF DWM GDI+ Media Foundation PIX WIC MIL OpenGL ICD GDI D3D <9 DX VA D3D9 D3D9 Ex D3D 10 DXGI OpenGL User-mode driver Common pipeline (DDI) User mode Kernel mode Kernel-mode driver Win32 Kernel DXG Kernel

14 Legacy Direct3D APIs Older Direct3D immediate mode APIs supported
D3DRM (retained mode) API retired Map older runtimes onto Direct3D 9 DDIs E.g., runtimes ≤ Direct3D 8, DirectDraw Fixed-function onto shaders, etc Direct3D9 interface matches DirectX 9.0c Same behavior as Direct3D 9 on Windows XP Maintain application compatibility

15 Direct3D9Ex Microsoft- written code IHV- written code
WPF DWM GDI+ Media Foundation PIX WIC MIL OpenGL ICD GDI D3D <9 DX VA D3D9 D3D9 Ex D3D 10 DXGI OpenGL User-mode driver Common pipeline (DDI) User mode Kernel mode Kernel-mode driver Win32 Kernel DXG Kernel

16 Direct3D9Ex Enhanced version of Direct3D 9
Also known as “DX9.L” Cross-process shared surfaces “Unlimited memory” All memory resources are “managed” Resource management controls Prioritization of resources Antialiased text rendering support Monochrome texture filter with large kernel size No more “device lost” Less frequent “device removed”

17 OpenGL Microsoft- written code IHV- written code Common pipeline (DDI)
WPF DWM GDI+ Media Foundation PIX WIC MIL OpenGL ICD GDI D3D <9 DX VA D3D9 D3D9 Ex D3D 10 DXGI OpenGL User-mode driver Common pipeline (DDI) User mode Kernel mode Kernel-mode driver Win32 Kernel DXG Kernel

18 OpenGL Three options for Windows Vista Developers
OpenGL 1.1 software implementation Windows XP driver model OpenGL ICDs Not DWM-compatible, DWM shuts off 3rd party WDDM OpenGL ICDs DWM compliant Limited inbox support for application compatibility Using Direct3D 9

19 Direct3D 10 And DXGI Microsoft- written code IHV- written code
WPF DWM GDI+ Media Foundation PIX WIC MIL OpenGL ICD GDI D3D <9 DX VA D3D9 D3D9 Ex D3D 10 DXGI OpenGL User-mode driver Common pipeline (DDI) User mode Kernel mode Kernel-mode driver Win32 Kernel DXG Kernel

20 Direct3D 10 Latest version of Direct3D Supported in Windows Vista
Premium Logo requirement in ‘08 Major improvements in Hardware consistency Programmer expressiveness WDDM + Direct3D 10 are fundamental improvement to the Windows gaming platform

21 DXGI Separate rendering from device management DXGI (eventually) does
Adapter management Display mode management Present to monitor Output management Gamma/Color Improvements of GDI 256 entry table Monitor controls Long term, subsumes functionality from GDI Currently only works with Direct3D 10

22 Media Integration Layer
Microsoft- written code IHV- written code WPF DWM GDI+ Media Foundation PIX WIC MIL OpenGL ICD GDI D3D <9 DX VA D3D9 D3D9 Ex D3D 10 DXGI OpenGL User-mode driver Common pipeline (DDI) User mode Kernel mode Kernel-mode driver Win32 Kernel DXG Kernel

23 Media Integration Layer
New for Windows Vista Serves WPF and DWM Integrates text, 2D, images, video, animation Supports remote desktop Composition model Use Direct3D for HW acceleration Software fallback Text services (line services) Paragraph, line layout Font mapping Rendering/Rasterization

24 Windows Presentation Foundation
Highly integrated stack Layout, text, video, audio, imaging Builds on other parts of stack Media Integration Layer Media Foundation Imaging Direct3D9Ex Windows Color System

25 Media And Imaging Microsoft- written code IHV- written code
WPF DWM GDI+ Media Foundation PIX WIC MIL OpenGL ICD GDI D3D <9 DX VA D3D9 D3D9 Ex D3D 10 DXGI OpenGL User-mode driver Common pipeline (DDI) User mode Kernel mode Kernel-mode driver Win32 Kernel DXG Kernel

26 Video Acceleration Relies on more specialized hardware support
Decode: IDCT, motion compensation Processing: Deinterlace, denoise, scale, mixing Content protection of high value data OPM, Protected Video Path Supported through DirectX Video Acceleration (DXVA) APIs Media Center and Media Player use same pipeline

27 Imaging Hardware accelerated photo experience Builds on Direct3D 9 API
60 fps Builds on Direct3D 9 API Uses texture mapping + shading for image processing Rely on Shader Model 2.0 capabilities Float16 processing Lots of accelerator memory Large texture images (> 2Kx2K)

28 Image Codecs Image I/O, parsing Metadata, thumbnails
Compress, Decompress Popular formats built-in Extension for others Secure, Reliable Central source (WIC)

29 Desktop Window Manager
Microsoft- written code IHV- written code WPF DWM GDI+ Media Foundation PIX WIC MIL OpenGL ICD GDI D3D <9 DX VA D3D9 D3D9 Ex D3D 10 DXGI OpenGL User-mode driver Common pipeline (DDI) User mode Kernel mode Kernel-mode driver Win32 Kernel DXG Kernel

30 Desktop Window Manager
New desktop experience using MIL and DirectX Uses new D3D9Ex interfaces Desktop Window Manager (DWM) Composited desktop Window movement without repainting underlying windows No more dragging garbage Client areas from applications GDI, Direct3D, WPF Video Non-client areas from the Window Manager Allows different views of application windows

31 Desktop Window Manager
WPF Application Direct3D Application GDI Application surface surface surface Desktop Window Manager

32 Desktop Window Manager
Supports high-DPI displays Composition with magnification Supports video playback Takes advantage of Direct3D 9 shaders Animated transitions, etc New D3D9Ex cross-process shared surfaces Allows DWM to access application back buffers Turns off when certain application types running Overlay planes, front buffer rendering,…

33 Full Screen Exclusive, Multimon, And DWM
Continue to allow apps to have exclusive monitor access Control video mode, gamma, etc… Desktop Window Manager disappears Other applications can continue to run May bump the priorities of the output-exclusive app Applications should recognize case where client area is occluded Background processing on the GPU Multiple monitors independent Composited desktop image per monitor Exclusive output independent for each monitor

34 Future Technologies Warning: These are directions not commitments
4/20/2017 8:11 AM Future Technologies Warning: These are directions not commitments Continue the vision Rich graphics and media experience Available all the time to all applications Robust, efficient, applications don’t interfere Scales across mobile, desktop,… Seamless print, remote, Terminal Server © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

35 Windows Display Driver Model
Lots of areas to address Move to preemptive context switching and page-level memory management ASAP WDDM 2.x Flexible multi-GPU, linked adapters (LDA) Graphics multiprocessing Power management Boot video, VGA, ACPI/BIOS Virtual Machine support

36 Display/Device Technologies
Color managed desktop Hi-def color (float16) Consumer Electronics (TV) devices Greater format coverage Multimon Improve the fullscreen/windowed experience Multi-desktop support Magnification Monitor controls DDC/CI Rationalize GDI/DXGI device control

37 Rendering Technologies
Interoperability of rendering APIs Game applications Higher-def, procedural content Surface tessellation, order-independent transparency Shader expressiveness Mainstream API Native code access Text, antialiasing, 2D rendering Rendering quality Multicore CPU investments Process or move data faster

38 Media Technologies Imaging Video Direct3D 10 provides ideal base
Move to “HDR” (actually 16-bit MDR) Minor improvements for additional image formats 16-bit fixed in addition to 16-bit float Video Content Protection (Protected Video Path) Glitch-resilience Preemptive context switching in WDDM 2.x is key Hardware Encode/Analysis Background transcoding Processing HD-DVD compositing scenarios

39 General Compute (GPGPU)
GPU rapidly generalizing Good at high-bandwidth, data-parallel compute Image processing, video processing, physics,… 100 GB/s, 300+ GFlops Looking at more generalized infrastructure Don’t draw triangles to trigger computations Enabled by Hardware implementation consistency Fast CPU ↔ GPU data transfer Multi-GPU support

40 Call To Action Windows Vista Next
Hardware-accelerated graphics all the time WDDM 1.0 Direct3D 9/9Ex is everywhere – now Rapid adoption of Direct3D 10 – it delivers the future DXVA, content protection, glitch reduction Next WDDM 2.x – efficient GPU virtualization Direct3D 10.1 – incremental changes to 10 Greater generalization of GPU capabilities Hi-def color, HD-DVD

41 Directx @ microsoft.com
Additional Resources microsoft.com Related content CLN-T359 – Windows Display Driver Model Drivers: Key Features CLN-C364 – Direct3D Test Framework CLN-C362 – Kernel Graphics Infrastructure for Display Devices and Mobiles CLN-P365 – CPU and GPU Directions

42 Questions?

43 4/20/2017 8:11 AM FACT: 29 digital cameras carry the “Certified for Windows Vista” logo as of April 1 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

44 © 2007 Microsoft Corporation. All rights reserved
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Windows Graphics Architecture"

Similar presentations


Ads by Google