Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

Windows Display Driver Model



План:


Введення

Windows Display Driver Model (WDDM, також WVDDM в епоху Vista) - це архітектура графічних драйверів для відеокарти під управлінням Microsoft Windows, починаючи з Windows Vista [1]. Вона є заміною для архітектури відеодрайверів Windows XP і націлена на підвищення продуктивності графіки та нову функціональність [1].

WDDM надає функціональність, необхідну для відображення робочого столу і додатків за допомогою диспетчера робочого столу - диспетчера складових вікон, працюючого поверх Direct3D. Вона також підтримує інтерфейси нової інфраструктури DXGI (DirectX Graphics Infrastructure), необхідні для основних операцій створення і управління пристроєм. Специфікація WDDM вимагає відеокарту, що підтримує щонайменше Direct3D 9, і повинна реалізовувати інтерфейси до Direct3D 9 для сумісності з старими програмами Direct3D; за бажанням вона може реалізовувати інтерфейси для Direct3D 10/10.1 і вище.


1. Можливості, привнесені моделлю WDDM

Драйвери WDDM відкривають нові функціональні області, які не надавалися на уніфікованої основі більш ранніми моделями графічних драйверів:

1.1. Віртуалізованних відеопам'ять

У контексті графіки віртуалізація означає, що окремі процеси (у користувацькому просторі) не можуть бачити пам'ять сусідніх процесів навіть шляхом вставки фальшивих команд в командний потік. Драйвери WDDM дозволяють робити віртуалізацію відеопам'яті [2] і підстановку сторінок відеопам'яті в системну пам'ять. Якщо виявиться, що доступної відеопам'яті недостатньо для зберігання всіх відеоданих і текстур, дані, не використовувані в поточний момент, переміщаються в системну пам'ять або на диск. Якщо витіснення дані стають потрібні, вони завантажуються назад. Віртуалізація була в деякій мірі можлива в драйверах, розрахованих на попередні моделі побудови (такі як модель драйверів Windows XP), але це була цілком зона відповідальності драйвера, а не системи.


1.2. Диспетчеризація

Виконуваний модуль управляє диспетчеризацією (плануванням) конкуруючих між собою графічних контекстів. [3] Кожен список команд поміщається в чергу для виконання графічним процесором, і може бути вивантажений виконуваним модулем, якщо з'являється більш важливе завдання і якщо виконання списку ще не почалося. Така поведінка відрізняється від потоків центрального процесора, де завдання не може бути перервана і тому зайняти більше часу, ніж потрібно і змусити комп'ютер повільніше відповідати на запити. Гібридний алгоритм планування між рідними і легкими потоками зі взаємодією потоків дає безшовний паралелізм. Важливо зауважити, що планування це не нова ідея, але раніше була сферою відповідальності розробників драйверів. WDDM намагається уніфікувати досвід різних розробників, керуючи виконанням завдань графічного процесора.


1.3. Межпроцессное спільне використання поверхонь Direct3D

Графічна поверхня Direct3D це область пам'яті, що містить інформацію про текстурованих осередках, використовуваних для прорахунку двовимірної або тривимірної сцени. WDDM дозволяє процесам спільно використовувати поверхні Direct3D [4]. Тому додаток може включити осередок, створену іншим додатком, в розраховується сцену. Спільне користування текстур процесами до WDDM було складним завданням, оскільки вимагало копіювання даних з відеопам'яті в системну пам'ять і назад, в відеопам'ять нового пристрою.


1.4. Розширена відмовостійкість

Якщо драйвер WDDM зависне або зустріне збій, графічний стек перезапустить драйвер. [1] При збої графічної апаратури станеться перехоплення цієї події і, якщо необхідно, драйвер буде перезапущений.

Драйвери для Windows XP були вільні реагувати на апаратні збої на свій розсуд, або повідомленням користувача, або спробою усунути помилку мовчки. З драйвером WDDM всі збої апаратури викликають перезапуск драйвера, а користувач отримує спливаюче повідомлення; це уніфікує поведінку драйверів різних розробників.

Попередні драйвери реалізовувалися повністю в режимі ядра, у той час як WDDM частково реалізований в режимі користувача. Якщо область користувача дасть невідновно помилку, це в гіршому випадку несподівано перерве роботу додатка замість синього екрану, як це було в попередніх моделях драйверів.

WDDM також дозволяє перезапускати або витягувати графічну апаратуру без належної перезавантаження. На практиці, оновлення драйвера не повинне вимагати перезавантаження.


2. Необхідна нова модель драйверів

Одним з основних сценаріїв, які робить можливим Windows Display Driver Model, є Desktop Window Manager. Оскільки робочий стіл і вікна додатків, керовані DWM, є додатками Direct3D, кількість відкритих вікон безпосередньо впливає на необхідний обсяг відеопам'яті. Оскільки немає обмеження на кількість відкритих вікон, доступної відеопам'яті може виявитися недостатньо, і потрібно віртуалізація. Оскільки вміст вікон, які DWM об'єднує в кінцевий робочий стіл, створюється різними процесами, необхідно межпроцессное спільне використання графічних поверхонь. Також, оскільки одночасно з DWM на робочому столі можуть працювати інші програми DirectX, додатки повинні мати можливість спільного доступу до графічного процесору, що вимагає диспетчеризації.

Однак, сказане справедливо для майкрософтовського реалізації складеного робочого столу під Windows Vista, з іншого боку, складовою робочий стіл теоретично не потребує нової моделі графічних драйверів. Успішні реалізації складових робочих столів існували до Windows Vista на інших платформах, таких як Quartz, Compiz, WindowFX. Своїм підходом Microsoft спробував зробити надійний WDDM як узагальнення досвіду по різним графічним процесорам від різних виробників, як стандартизацію їх властивостей і якостей. Програмні властивості, відсутні у інших моделей драйверів, можна було б зробити несуттєвими за допомогою доповнень або якби була доступна менш обмежує або просто інша модель драйверів.


3. Обмеження

Нова модель драйверів вимагає, щоб графічна апаратура підтримувала принаймні Shader Model 2.0 (fixed function pipeline is now translated to 2.0 shaders). Однак, за інформацією Microsoft, на 2009 рік тільки близько 1-2 відсотків апаратури використовувало модель драйверів Windows XP [5], а інші вже є WDDM-сумісними. Модель також вимагає наявності деяких інших апаратних можливостей (з цієї причини, наприклад, апаратура, підтримуюча SM 2.0, така як Intel GMA 900, не проходить сертифікацію на WDDM [6]).

Одне з обмежень драйвера WDDM версії 1.0 в тому, що він не підтримує одночасно декілька драйверів в многоадаптерном многомоніторний оточенні. Якщо у многомоніторний системи більше одного графічного адаптера, обидва адаптера повинні використовувати один і той же драйвер WDDM. Якщо використовується більше одного драйвера, Windows вимкне один з них. [7]. У WDDM 1.1 вже немає такого обмеження. [8]

У WDDM 1.0/1.1 відсутні деякі режими, раніше обслуговувалися безпосередньо драйвером, такі як розтяжка робочого столу на кілька моніторів [9] [10] хоча режим Dual View [11], як і раніше доступний. [12]


4. WDDM 1.1

Windows 7 підтримує важливі доповнення до WDDM відомі як WDDM 1.1; подробиці цієї нової версії були розкриті на WinHEC 2008. Нові можливості включають [5] :

  • DXGI 1.1, що характеризує повернення апаратного прискорення двовимірного графічного інтерфейсу користувача для використання системою GDI [13] і Direct2D / DirectWrite (але не GDI +)
    • BitBlt, StretchBlt, TransparentBlt
    • AlphaBlend, ColorFill
    • Підтримка шрифтів ClearType
  • Інтерфейс драйвера пристрою Direct3D 11 (DDI)
  • DXVA-HD DDI [14]
  • Hardware video overlay DDI [15]
  • Необов'язкове шифрування AES 128
  • Необов'язкове декодування зашифрованого графічного вмісту
  • Підтримка декількох драйверів в многоадаптерном многомоніторний оточенні

Апаратне прискорення операцій GDI і Direct2D/DirectWrite допомагає зменшити витрату пам'яті в Windows 7, оскільки системі компонування DWM більше не потрібно тримати копію системної пам'яті для всіх графічних поверхонь, використовуваних GDI / GDI +, як це було в Windows Vista. [16] [17]

WDDM 1.1, Direct3D 11, Direct2D і DirectWrite також будуть доступними з виходом Windows Vista Platform Update; однак, GDI / GDI + в Vista буде як і раніше покладатися на програмний прорахунок , І Desktop Window Manager буде продовжувати використовувати Direct3D 9Ex. [Джерело не вказано 866 днів]

Драйвери WDDM 1.1 назад сумісні зі специфікацією WDDM 1.0; як драйвери 1.0 так і 1.1 можна використовувати в Windows Vista з Platform Update або без нього. [5]


5. Майбутні версії

5.1. WDDM 2.0

На WinHEC 2006 Microsoft говорив про свої плани зробити значну зміну WDDM для поліпшення багатозадачності стосовно до графічним процесорам. Згідно з інформацією Microsoft, WDDM 1.0 дозволяє виконувати лише елементарне планування завдань з прорахунком "batch queue" granularity. WDDM 2.0 і WDDM 2.1 ', які планувалися після виходу Vista [18] але щодо яких Microsoft не оголосив дату виходу в світ ( Windows 8 підтримує лише WDDM 1.2), могли б запропонувати витісняє багатозадачність на рівні дрібних структурних одиниць і зажадали б нового покоління графічних процесорів. [19] [20]


Примітки

  1. 1 2 3 Windows Vista Display Driver Model - msdn.microsoft.com/en-us/library/aa480220.aspx
  2. Graphics Memory Reporting in WDDM - download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/GraphicsMemory.doc
  3. The role of the Windows Display Driver Model in the DWM - blogs.msdn.com/greg_schechter/archive/2006/04/02/566767.aspx
  4. Cross Process Resource Sharing - msdn.microsoft.com/en-us/library/dd327290.aspx
  5. 1 2 3 WHDC: Graphics Guide for Windows 7 - www.microsoft.com/whdc/device/display/GraphicsGuideWin7.mspx. Microsoft (12-06-2009). Читальний - www.webcitation.org/67Jpx2fOA з першоджерела 1 травня 2012.
  6. Intel excuse for no GMA900 WDDM driver: no "HW Scheduler" no driver - forum.beyond3d.com/showthread.php? t = 35048, Beyond3D, October 26, 2006.
  7. MultiMonitor Support and Windows Vista - www.microsoft.com / whdc / device / display / multimonVista.mspx. Читальний - www.webcitation.org/67JpwP2F7 з першоджерела 1 травня 2012.
  8. Working With the Windows 7 Graphics Architecture: WinHEC 2008 - download.microsoft.com/download/5/E/6/5E66B27B-988B-4F50-AF3A-C2FF1E62180F/GRA-T584_WH08.pptx
  9. Are there Control Panel features that were available under Windows XP that are no longer available on Windows Vista? - nvidia.custhelp.com / cgi-bin / nvidia.cfg / php / enduser / std_adp.php? p_faqid = 2026
  10. Stretched Desktop or Spanning Mode Not Available in Catalyst Control Center Under Windows Vista - support.amd.com/us/kbarticles/Pages/26771-stretched-mode-Catalyst-Control-Center.aspx
  11. Description of DualView in Windows XP - support.microsoft.com/kb/283674
  12. MultiMonitor Support and Windows Vista - www.microsoft.com / whdc / device / display / multimonVista.mspx
  13. Windows DDK - GDI Hardware Acceleration - msdn.microsoft.com/en-us/library/ee206465.aspx. MSDN. Читальний - www.webcitation.org/67Jpxf58R з першоджерела 1 травня 2012.
  14. Windows DDK - DXVA-HD DDI - msdn.microsoft.com/en-us/library/dd835187.aspx. MSDN. Читальний - www.webcitation.org/67JpyFBMu з першоджерела 1 травня 2012.
  15. Windows DDK - Overlay DDI - msdn.microsoft.com/en-us/library/dd835190.aspx. MSDN. Читальний - www.webcitation.org/67Jpymtvl з першоджерела 1 травня 2012.
  16. Greg Schechter's Blog: Redirecting GDI, DirectX, and WPF applications - blogs.msdn.com/greg_schechter/archive/2006/05/02/588934.aspx
  17. Engineering Windows 7 Graphics Performance - blogs.msdn.com/e7/archive/2009/04/25/engineering-windows-7-for-graphics-performance.aspx
  18. WinHEC 2006: Display Driver Logistics And Testing - download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/PRI023_WH06.ppt
  19. WinHEC 2006: Windows Display Driver Model (WDDM) v2 And Beyond - download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/PRI103_WH06.ppt
  20. Dan Warne Windows Graphics System To Be overhauled - www.apcstart.com/site/dwarne/2006/06/193/windows-graphics-system-to-be-overhauled. APC Magazine (June 1, 2006). (Недоступна посилання - історія -

Література

Перегляд цього шаблону Компоненти Microsoft Windows
Основні

Aero ClearType Диспетчер робочого столу DirectX Панель завдань ( Пуск Область сповіщень) Провідник ( Простір імен Спеціальні папки Асоціації файлів) Windows Search ( Smart Folders iFilters) GDI WIM SMB . NET Framework XPS Active Scripting ( WSH VBScript JScript) COM ( OLE DCOM ActiveX Структуроване сховище Сервер транзакцій) Тіньова копія WDDM UAA Консоль Win32

Служби
управління

Архівація та відновлення COMMAND.COM cmd.exe Засіб перенесення даних Перегляд подій Установник netsh.exe PowerShell Звіти про проблеми rundll32.exe Програма підготовки системи ( Sysprep) Налаштування системи ( MSConfig) Перевірка системних файлів Індекс продуктивності Центр поновлення Відновлення системи Дефрагментація диска Диспетчер завдань Диспетчер пристроїв Консоль управління Очищення диска Панель управління (елементи)

Додатки

Контакти DVD Maker Факсів і сканування Internet Explorer Журнал Екранна лупа Media Center Програвач Windows Media Програма спільної роботи Центр пристроїв Windows Mobile Центр мобільності Екранний диктор Paint Редактор особистих символів Віддалений помічник Розпізнавання мови WordPad Блокнот Бічна панель Звукозапис Календар Калькулятор Ножиці Пошта Таблиця символів Історичні: Movie Maker NetMeeting Outlook Express Диспетчер програм Диспетчер файлів Фотоальбом

Ігри

Chess Titans Mahjong Titans Purble Place Пасьянси ( Косинка Павук Солітер) Сапер Пінбол Чирви

Ядро ОС
Служби

Autorun.inf Фонова інтелектуальна служба передачі Файлова система стандартного журналирования Звіти про помилки Планувальник класів мультимедіа Тіньова копія Планувальник завдань Бездротова настройка

Файлові
системи
Сервер

Active Directory Служби розгортання Служба реплікації файлів Над DNS Домени Перенаправлення папок Hyper-V IIS Media Services MSMQ Захист доступу до мережі (NAP) Служби друку для UNIX Віддалене різницеве ​​стиск Служби віддаленої установки Служба управління правами Переміщувані профілі користувачів SharePoint Диспетчер системних ресурсів Віддалений робочий стіл WSUS Групова політика Координатор розподілених транзакцій

Архітектура

NT Диспетчер об'єктів Пакети запиту вводу / виводу Диспетчер транзакцій ядра Диспетчер логічних дисків Диспетчер облікових записів безпеки Захист ресурсів lsass.exe csrss.exe smss.exe spoolsv.exe Запуск

Безпека
Сумісність

Підсистема UNIX (Interix) Віртуальна машина DOS WOW64

Перегляд цього шаблону API і фреймворки Microsoft
Графіка Desktop Window Manager Direct2D Direct3D (extensions) GDI / GDI + WPF Windows Color System Windows Image Acquisition Windows Imaging Component
Аудіо DirectMusic DirectSound DirectX plugin XACT Speech API XAudio2
Мультимедіа DirectX (Media Objects Video Acceleration) DirectInput DirectShow Image Mastering API Managed DirectX Media Foundation XNA Windows Media Video for Windows
Web MSHTML RSS Platform JScript VBScript BHO XDR SideBar Gadgets
Доступ до даних Data Access Components Extensible Storage Engine ADO.NET ADO.NET Entity Framework Sync Framework Jet Engine MSXML OLE DB OPC
Мережа Winsock ( LSP) Winsock Kernel Filtering Platform Network Driver Interface Specification Windows Rally BITS P2P API MSMQ MS MPI DirectPlay
Комунікації Messaging API Telephony API WCF
Win32 console Windows Script Host WMI (extensions) PowerShell Task Scheduler Offline Files Shadow Copy Windows Installer Error Reporting Event Log Common Log File System
Компонентна модель COM COM + ActiveX Distributed Component Object Model . NET Framework
Бібліотеки Base Class Library (BCL) Microsoft Foundation Classes (MFC) Active Template Library (ATL) Windows Template Library (WTL)
Драйвери пристроїв Windows Driver Model Windows Driver Foundation (KMDF UMDF) WDDM NDIS UAA Broadcast Driver Architecture VxD
Безпека Crypto API ( CAPICOM) Windows CardSpace Data Protection API Security Support Provider Interface (SSPI)
. NET ASP.NET ADO.NET Base Class Library (BCL) Remoting Silverlight TPL WCF WCS WPF WF
Програмне забезпечення EFx Factory Enterprise Library Composite UI CCF CSF
IPC MSRPC Dynamic Data Exchange (DDE) Remoting WCF
Доступність Active Accessibility UI Automation
Текст і многоязная
підтримка
DirectWrite Text Services Framework Text Object Model Input method editor Language Interface Pack Multilingual User Interface Uniscribe

Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
Windows Driver Model
Windows Driver Foundation
GNOME Display Manager
Driver 2
V-Model
Ford Model T
New Model Army
Model Driven Architecture
Document Object Model
© Усі права захищені
написати до нас