Кіріспе

Windows Display Driver Model (WDDM, бастапқыда LDDM Longhorn Display Driver Model ретінде, содан кейін Windows Vista кезінде WVDDM) - Windows Vista-дан бастап Microsoft Windows нұсқаларын іске асыратын бейне картасының драйверлері үшін графикалық драйверлер архитектурасы. Ол Windows 2000 және Windows XP-дің алдыңғы дисплей драйверінің үлгісі XDDM/XPDM-ді алмастырады және графикалық өнімділікті жақсартуға және жаңа графикалық функционалдылық пен тұрақтылықты қамтамасыз етуге бағытталған. Алайда, Windows 8-ден XDDM-ді алып тастаумен WDDM жалғыз нұсқаға айналды. WDDM жұмыс үстелі мен қолданбаларды Direct3D-дің үстінде жұмыс істейтін композиторлық терезе менеджерін пайдалана отырып, жұмыс үстелі мен қолданбаларды көрсету үшін қажетті функционалды қамтамасыз етеді. Ол сондай-ақ негізгі құрылғыларды басқару және құру үшін қажетті жаңа DXGI интерфейстерін қолдайды. WDDM спецификациясы кем дегенде Direct3D 9 қабілетті бейнекартаны талап етеді және дисплей драйвері Direct3D 9Ex орындалу уақытына арналған құрылғы драйверінің интерфейстерін іске асыруы керек, осылайша Direct3D бағдарламаларын орындауға болады; ол Direct3D 10 және одан жоғары нұсқалары үшін орындалу уақытының интерфейстерін қолданбалы түрде іске асыра алады.

WDDM-мен іске қосылған мүмкіндіктер

WDDM драйверлері бұрынғы дисплей драйверлерінің үлгілерінде біркелкі қамтамасыз етілмеген жаңа функционалдық салаларды қамтамасыз етеді. Бұларға мыналар жатады:

Виртуалды бейне жады

Графика тұрғысынан алғанда, виртуализация дегеніміз - жеке процестер (пайдаланушы режимінде) қасындағы процестердің жадында, тіпті команда ағынына жасалма командаларды енгізу арқылы да көре алмайды. WDDM драйверлері бейне жадының виртуализациялануына және бейне деректерінің бейне жадынан жүйелік RAM-ге беттеп шығуына мүмкіндік береді. Егер бар видео жады барлық видео деректері мен текстураларды сақтауға жеткіліксіз болса, қазіргі уақытта пайдаланылмаған деректер жүйелік RAM-ге немесе дискіге көшіріледі. Алмастырылған деректер қажет болған кезде, олар қайта алынады. Виртуализация алдыңғы драйвер модельдерінде (мысалы, XP драйвер моделі) белгілі бір дәрежеде қолдау таба алатын, бірақ оны орындау кезінде басқарудың орнына драйвердің жауапкершілігі болды.

Жоспарлау

Орындау уақыты бір мезгілде графикалық контексттерді жоспарлауды басқарады. Әр командалар тізімі GPU-мен орындалу үшін кезекке қойылады және егер одан да маңызды тапсырма келсе және ол орындалуды бастамаса, оны орындау уақыты алдын ала алады. Бұл процессордағы бір тапсырманы үзіп алмау мүмкіндігінен айырмашылығы бар, сондықтан ол қажетінен артық уақыт алады және компьютердің жауап беру қабілетін төмендетеді. Мерекелік және жеңіл желілер арасындағы гибридті жоспарлау алгоритмі желілер арасындағы ынтымақтастықпен үздіксіз қатарлылыққа қол жеткізеді. Бұл ретте жоспарлаудың жаңа тұжырымдама емес екенін, бұрын бұл жеке жүргізушілерді әзірлеушілердің міндеті болғанын атап өту керек. WDDM GPU тапсырмаларын орындауды бақылау арқылы әр түрлі жеткізушілердегі тәжірибені біріктіруге тырысады.

Direct3D бетін процестер аралық ортақтастыру

Direct3D графикалық беті - бұл 2D немесе 3D көріністі көрсету үшін қолданылатын текстуралы торлар туралы ақпаратты қамтитын жад аймағы. WDDM Direct3D беттерін процестер арасында бөлісуге мүмкіндік береді. Осылайша, қосымша басқа қолданба жасаған торды рендерингтегі сахнаға енгізе алады. WDDM-ге дейін процестер арасында текстураларды бөлісу қиын болды, өйткені бұл деректерді бейне жадынан жүйелік жадқа көшіруді және жаңа құрылғы үшін бейне жадына көшіруді талап еткен болар еді.

Қатеге төзімділіктің жақсаруы

Егер WDDM драйвері тоқтаса немесе ақаулық болса, графикалық стек драйверді қайта іске қосады. Графикалық аппараттық ақаулық анықталады және қажет болған жағдайда драйвер қайта орнатылады. Windows XP-дегі драйверлер аппараттық ақауларды пайдаланушыға хабарлау арқылы немесе үнсіз қалпына келтіруге тырысу арқылы өздері қалағанша шешуге еркін болды. Кейбір жағдайларда дисплей драйверін қауіпсіз тоқтатуға болатын болса, Windows XP дисплей драйверінің құлдырауы туралы ескерту жасауы мүмкін, сонымен қатар бейне драйверін өшіріп, экранның ажыратылуын 640x480-ге дейін 16 түсті ғана ауыстыра алады. WDDM драйвері бар болса, экранның ажыратылымы әсер етпейді; барлық аппараттық ақаулар драйверді қалпына келтіреді және пайдаланушыға қоңырау шалады; бұл сатушылар арасындағы мінез-құлықты біріктіреді. Бұрынғы драйверлер толығымен ядролық режимде іске асырылды, ал WDDM жартылай пайдаланушы режимінде іске асырылды. Егер пайдаланушы режимінің аймағы қалпына келмейтін қатемен сәтсіз болса, ол, ең көп дегенде, қолданбаны көктей экран қатесінен бұрын, бұрынғы драйверлер үлгілерінде болғандай, күтпеген жерден тоқтатуға әкеледі. WDDM сонымен қатар графикалық аппаратты қалпына келтіруге және пайдаланушыларға драйверлерді қайта жүктеуді талап етпей жаңартуға мүмкіндік береді. WDDM драйверлер моделінің 1.0 нұсқасының бір шектеулері - ол бірнеше адаптерлі, бірнеше мониторлы орнатуда бірнеше драйверлерді қолдамайды. Егер бірнеше мониторлы жүйеде мониторларды қоректендіретін бірден көп графикалық адаптер болса, екі адаптер де бірдей WDDM драйверін пайдалануы тиіс. Егер бірнеше драйвер қолданылса, Windows олардың біреуін өшіреді. WDDM 1.1 бұл шектеуге ие емес. WDDM 1.0/1.1 кейбір режимдерге рұқсат бермейді, олар бұған дейін драйвермен басқарылатын, мысалы, кеңістіктік режим (диспарды екі мониторға созу), бірақ екілік көрініс әлі де қол жетімді.

Жаңа дисплей драйверінің қажеттілігі

Windows Display Driver Model мүмкіндік беретін басты сценарийлердің бірі - Үстел терезе менеджері. DWM басқаратын үстел және қолданба терезелері Direct3D қолданбалары болғандықтан, ашық терезелердің саны қажетті бейне жадының мөлшеріне тікелей әсер етеді. Ашық терезелердің саны шектелмегендіктен, қол жетімді бейне жады жеткіліксіз болып, виртуалдылықты қажет етуі мүмкін. DWM соңғы жұмыс үстеліне құрастыратын терезе мазмұны әртүрлі процестер арқылы жасалатындықтан, процестер аралық бетті бөлісу қажет. Сонымен қатар, DWM басқаратын үстелінде DWM-мен қатар басқа DirectX қолданбалары жұмыс істей алатындығы үшін, олар GPU-ға ортақ түрде кіре алуы керек, бұл жоспарлауды қажет етеді. Бұл Microsoft-тың Windows Vista-да композитті үстелді іске асыруы үшін дұрыс болса да, екінші жағынан, композитті үстел теориялық тұрғыдан жаңа дисплей драйверінің моделі күтілетіндей жұмыс істеуін талап етпейді. Композитті жұмыс үстелдерін Windows Vista-дан бұрын Quartz, Compiz, WindowFX сияқты басқа платформаларда сәтті іске асыру жүзеге асырылды. Microsoft компаниясы WDDM-ді бірнеше өндірушілердің әртүрлі GPU-ларында олардың мүмкіндіктері мен өнімділігін стандарттау арқылы біріктірілген тәжірибеге айналдыруға тырысты. Басқа драйвер модельдерінде жоқ бағдарламалық қамтамасыз ету мүмкіндіктері кеңейтулер арқылы немесе шектеулер аз немесе басқа драйвер модельдері қолданылған жағдайда маңызды емес болуы мүмкін.

WDDM 1.3

Windows 8.1 құрамында WDDM 1.3 және DXGI 1.3 бар. Жаңа қосымшаларға DXGI адаптерінің жады пайдалануын қысқарту мүмкіндігі, көп жазықтық үстінен жабылу, ауыспалы тізбектерді және ауыспалы тізбек масштабын, ауыспалы тізбек үшін кері буферлік субөңірді таңдау және кіші зақымдалған ауыспалы тізбекті ұсыну кіреді. Драйверлердің қосымша мүмкіндіктеріне сымсыз дисплейлер (Miracast), YUV форматының диапазондары, кросс-адаптер ресурстары және GPU қозғалтқыштарының санау мүмкіндіктері кіреді. Графикалық өзектің жұмыс істеуін жақсарту.

WDDM 2.0

Windows 10 құрамына WDDM 2.0 кіреді, ол виртуалды жады адрестеуін қолдайтын GPU үшін ядролық режимдегі драйвердегі жұмыс жүктемесін күрт азайтуға арналған, бұл пайдаланушы режиміндегі драйверде көп желілік параллельділікке мүмкіндік береді және процессорды пайдалануды төмендетеді. Windows 10 DXGI 1.4 бағдарламасын да қамтиды. Build 2014 көрмесінде жарияланған Direct3D 12 API WDDM 2.0 талап етеді. Жаңа API ресурстарды автоматты түрде басқару мен құбыржолды басқару міндеттерін жояды және әзірлеушілерге адаптер жады мен рендерингтік жағдайларды толық төмен деңгейде басқаруға мүмкіндік береді. Windows 8.1 және Windows Phone дисплей драйверлерінің моделі Windows 10 үшін біріктірілген модельге айналды. Жаңа жад моделі әр GPU-ға процеске виртуалды адрестік кеңістік береді. Видео жадының тікелей адрестелуі әлі де WDDMv2 оны талап ететін графикалық жабдық үшін қолдайды, бірақ бұл ескі жағдай деп саналады. IHV виртуалды адрестеуді қолдайтын жаңа аппаратты әзірлейді деп күтілуде. Осы жаңа жад моделін іске асыру үшін DDI-ге елеулі өзгерістер енгізілді.

WDDM 2.1

Windows 10 Anniversary Update (1607 нұсқасы) құрамында WDDM 2.1, ол Shader Model 6.0 (фигура деңгейлері 12 0 және 12 1 үшін міндетті) және DXGI 1.5, ол HDR10 10 биттік жоғары динамикалық диапазонды, ITU T Rec. 2100/Rec.2020 және өзгермелі жаңарту жылдамдықтары.

WDDM 2.2

Windows 10 Creators Update (1703 нұсқасы) құрамына виртуалды, кеңейтілген және аралас шындыққа арналған, Windows аралас шындық платформасына арналған стереоскопиялық рендерингпен және DXGI 1.6 арналған WDDM 2.2 кіреді.

WDDM 2.4

Windows 10 2018 сәуірдегі жаңарту (1803 нұсқасы) WDDM 2.4 құрамына кіреді. Windows 10 1803 нұсқасындағы драйверлерді дамытуды көрсету жаңартулары келесі мүмкіндіктерді қамтиды. : Шейдер моделі 6.2, 16 биттік скалярларды қолдау және денормальдық мәндермен мінез-құлықтарды таңдау мүмкіндігі. Жанама дисплей UMDF класының кеңейтімі, драйвер SRM-ді рендерингтік GPU-ға бере алады және SRM нұсқасын сұрату механизмі бар. IOMMU аппараттық негіздегі GPU оқшаулауды қолдау, GPU-ның жүйелік жадыға кіруін шектеу арқылы қауіпсіздікті арттыру. GPU паравиртуализациялауды қолдау, дисплей драйверлеріне Hyper V виртуализацияланған орталарға рендерингтік мүмкіндіктерді қамтамасыз етуге мүмкіндік береді. Жарықтық, калибрленген нит негізінде жарықтық деңгейлеріне орнатылатын бірнеше дисплейлерді қолдау үшін жаңа интерфейс. D3D11 бит ағыны шифрлау, CENC, CENS, CBC1 және CBCS 8 немесе 16 байт инициализациялау векторларымен ашылады. D3D11 және D3D12 видео гистограмманы кодтайды, бұл HDR / EDR сценарийлері үшін тон картасының сапасын жақсарту үшін гистограмма үшін тұрақты функциялы аппаратты пайдалануға мүмкіндік береді. D3D12 бейне декодтау енді Decode Tier II-ді қолдайды, бұл қосымшаларға бөлу шығындарын амортизациялауға және ажыратуды өзгерту кезінде ең жоғары жад пайдалануды азайтуға мүмкіндік береді. Тіркелген ресурс деңгейі және LDA atomics, жаңа кросс-нодты ортақтастыру деңгейі, байланысты адаптер (LDA) түйіндері арқылы жұмыс істейтін атомдық шейдер нұсқауларына қолдау көрсету үшін, бірнеше GPU рендерингтік әдістерін іске асыруға мүмкіндік береді. GPU-ның дитерлеуін қолдау, операциялық жүйеге монитор байланысында физикалық түрде қол жетімдіден жоғары тиімді бит тереңдігі қажет болған жағдайларда, мысалы, HDR10-ға HDMI 2.0 арқылы дитерлеуді нақты сұратуға мүмкіндік береді. Пост-өңдеудің түстерін жақсартуды басып тастау, операциялық жүйеге белгілі бір қолданба сценарийлері үшін дисплейдің түстерін жақсартуды немесе өзгертуді уақытша өшіруді талап етуге мүмкіндік береді. Бұл дисплейде колориметриялық дәл түстер мінез-құлқын жүзеге асыру үшін және OEM немесе IHV меншік дисплейдің түстерін жақсартумен қауіпсіз бірге өмір сүруге мүмкіндік береді. Direct3D12 және Video, жаңа API және DDI аппараттық жеделдетілген бейне кодтау, мазмұнды қорғау және бейне өңдеуге қол жеткізуді қамтамасыз етеді. DisplayID, графикалық адаптермен басқарылатын дисплейден VESA-ның DisplayID дескрипторына сұрау салуға мүмкіндік беретін жаңа DDI. GPU өнімділік деректері, температура, желдеткіш жылдамдығы, қозғалтқыштар мен жад үшін сағаттық жылдамдықтар, жад жолақтығы, қуат алу және кернеу сияқты GPU аппараттық туралы ақпаратты ашу үшін кеңейту. SupportContextlessPresent, IHV-ге жаңа жүргізушіге көмектесетін жүргізушіге арналған қалпақ. Операциялық жүйенің сыртқы/алып тасталатын GPU-ды қолдауын жақсарту, ажыратылатын GPU-ды жақсырақ қолдауды қамтамасыз ету. Дисплей диагностикасы, Дисплей контроллерінің драйверіне операциялық жүйеге диагностикалық оқиғаларды хабарлауға мүмкіндік беретін ядролық режимдегі құрылғы драйверінің интерфейсі. Ортақ графикалық қуат компоненттері, графикалық емес драйверлерге графикалық құрылғының қуаттандыруын басқаруға қатысуға мүмкіндік береді. Ортақ текстураны жақсарту, процестер мен Direct3D құрылғыларында ортақ қолданылатын текстура түрлерін арттыру, жадыда көшіруді азайта отырып, монохромды қолдауды қосу.

WDDM 2.5

Windows 10 2018 жылдың қазан айындағы жаңарту (1809 нұсқасы) WDDM 2.5 кіреді. Windows 10 1809 нұсқасындағы дисплей драйверін әзірлеу жаңартулары келесі мүмкіндіктерді қамтиды: Shader Model 6.3, DirectX12 Raytracing (DXR) қолдауын қосу. Raytracing, Direct3D 12-де аппараттық жеделдетілген raytracing-ті қолдау үшін. Universal Driver Requirements, драйверлер DirectX 11 және DirectX12 пайдаланушы режиміндегі драйверлері мен ядролық режимдегі драйверлері, сондай-ақ осы компоненттер жүктейтін басқа DLL-лер Universal API-ге сәйкес келетінін қамтамасыз етуі керек. SRV Only Tiled Resource Tier 3, тек қана қабырғалы ресурстар үшін жаңа мүмкіндік біті, бұрыштамалық қол жетімділікті талап етпей, тар көлемді текстураларды ашып, мақсатты операцияларды қолдауды қамтамасыз етеді. Render Pass, Direct3D 12-де render pass тұжырымдамасын енгізеді, қолданыстағы драйверлерде жұмыс істейтін жаңа API-лерді қосады және пайдаланушы режиміндегі драйверлерге CPU-ны ауыр жазаламай, оңтайлы рендерлеу жолын таңдауға мүмкіндік береді. Мета командалар, DirectML-ді алдын ала қарауды қолдау, машиналық оқыту үшін жоғары өнімділік, аппараттық жеделдетілген DirectX 12 кітапханасы. Windows 10 1903 нұсқасымен және одан жаңа мета командалар мен DirectML Windows-тың тұрақты бөлігі болып табылады. HDR Жарықтықты өтеу, жаңа SDR жарықтылығын арттыру, SDR мазмұнының беті пайдаланушының қалауы бойынша көтеріледі, SDR мазмұнын 200-240 нитке қайтаруға мүмкіндік береді. Сонымен қатар, ол аппараттық / драйвердің HDR шығысын FP16 пиксельдік форматта немесе тек ARGB10 пиксельдік форматта қолдайтынын хабарлауға мүмкіндік береді. SDR ақ деңгейі, графикалық драйверлерге HDR режимінде жұмыс істейтін дисплей үшін барлық SDR мазмұнына OS композиторы қолданатын SDR ақ деңгейінің мәнін білу үшін. Дисплейді синхрондау, егер дисплейді жүргізуші ашса және дисплейді қосу алдында операциялық жүйенің дисплейді синхрондау мүмкіндіктерін тексеруге мүмкіндік береді. Тректі жұмыс жүктемелері сонымен қатар жылдам процессордың орындалуы мен энергияны аз тұтыну арасындағы сауда-саттықты жақсырақ бақылау үшін тәжірибелік мүмкіндік ретінде қосылды, бірақ Windows 10 2004 нұсқасынан алынып тасталды және қауіпсіздіктің бір бөлігі ретінде OS-тің бұрынғы нұсқаларынан ескірген.

WDDM 2.6

Windows 10 2019 мамырдағы жаңарту (1903 нұсқасы) WDDM 2.6 кіреді. Windows 10 1903 нұсқасындағы дисплей драйверін дамыту жаңартулары келесі мүмкіндіктерді қамтиды: Shader Model 6.4, төмен дәлдіктегі қапталған нүктелік өнімнің ішкі ерекшеліктерін және сәулелерді қадағалауды жеңілдету үшін кітапхананың кіші объектілерін қолдауды қосу. Super Wet Ink, IHV-дің қолдамайтын пішімдері мен режимдеріндегі текстураларды жасауға мүмкіндік береді, оларды ресурстық проекция ретінде аппараттық / драйверлер қолданатын пішімге шешіп, ішкі драйверлерді оңтайландыруға мүмкіндік береді. Түрлі жылдамдықпен көлеңкелеу, сонымен қатар, қара пикселдік көлеңкелеу деп те аталады, бұл рендерингтің өнімділігін / қуатын әртүрлі жылдамдықпен рендерингті бейнелерге бөлуді қамтамасыз ететін механизм. Ол екі деңгеймен (1 және 2-ші деңгей) беріледі. Диагностикалық ақпаратты жинау, операциялық жүйеге рендеринг пен дисплей функциялары үшін драйверлерден жеке деректерді жинауға мүмкіндік береді. Бұл жаңа мүмкіндік WDDM 2.6 талаптары болып табылады. Фондық өңдеу, пайдаланушы режиміндегі драйверлерге қажетті желілік мінез-құлықты және оны басқару / бақылау үшін орындалу уақытын көрсетуге мүмкіндік береді. API-лер қолданбаларға олардың жұмыс жүктемелеріне сәйкес келетін фондағы өңдеудің мөлшерін және сол жұмысты қашан орындау керектігін реттеуге мүмкіндік береді. Driver Hot Update, сервердің істен шығу уақытын азайтып, драйвер қауіпсіздігін өзек режиміндегі драйверге ысық жаңыртуға мүмкіндік береді. NPU сияқты AI процессорлары үшін Microsoft Compute Driver Model (MCDM).

WDDM 2.7

Windows 10 2020 мамырдағы жаңарту (2004 нұсқасы) WDDM 2.7 кіреді. Windows 10 2004 нұсқасындағы драйверлерді дамыту жаңартулары келесі мүмкіндіктерді қамтиды: Shader Model 6.5, жаңа құбыржол мүмкіндіктеріне қолдау көрсету және Wave қосымшасы. Жабдықтық жеделдетілген GPU жоспарлау: жүйелік параметрлерде қосымша опция ретінде жасырылады, рұқсат етілген кезде жоғары жиілікті тапсырмаларды арнайы GPU негізделген жоспарлау процессорына жүктейді, CPU жоспарлауды азайтады. Арнайы аппараттық және драйверлік қолдауды қажет етеді. Сэмплер кері байланыс, көріністегі ресурстарды пайдалануды неғұрлым жақсы реттеуге мүмкіндік береді. Ол екі деңгеймен (0.9 және 1.0 деңгейі) беріледі. DirectX Raytracing (DXR) Tier 1.1, желідегі сәулелерді іздеу, жанама сәулелерді жіберу, жаңасын жасаудың қажеті жоқ, жай-күй объектісін ұлғайту және жеделдету құрылымдары үшін қосымша ұшы форматтарын енгізу. Желілік және күшейткіш шатырлау сатылары, дәстүрлі құбыржолды алмастыратын жаңа факультативті геометриялық құбыржол (кіріспе құрастырғыштың вертикальді корпусы, тестелатордың геометриялық домені және ағыстың шығыс сатылары). Жақсырақ орналасуды бақылау және жаңадан құрылған үйінділерді нөлге келтірмеу мүмкіндігі бар жадыны бөлуді жақсарту. Direct3D 9 ресурс интероп, Direct3D 9 ресурсын Direct3D 12 қосымшасына жобалауға мүмкіндік береді. Direct3D 12 видео қорғалған ресурстарды қолдау, Direct3D 12 қосымшасында қорғалған мазмұнды ойнатуға мүмкіндік береді.

WDDM 2.8

Windows 10 Insider Preview Manganese құрамында WDDM 2.8 бар, бірақ оны қолдайтын драйверлер ешқашан ашық көрсетілмеген және ол "Iron" және "Cobalt" даму релиздерінде өткізіліп тасталды.

WDDM 2.9

WDDM 2.9 Windows 10 Insider Preview "Iron" бағдарламасында Windows 2 (WSL 2) үшін Windows қосалқы жүйесіне GPU аппараттық жеделдетуді және 12 2 деңгейлі және HLSL Shader Model 6.6 мүмкіндіктерін қолдайды.

WDDM 3.2

Windows 11 2023 жаңартуы (23H2 нұсқасы) WDDM 3.2 қамтиды. Шейдер үлгісі 6.8