Windows Vista 顯示器驅(qū)動程序模型WDDM
Windows 顯示器驅(qū)動程序模型 (WDDM) 是 Windows 中支持的一種全新的顯示器驅(qū)動程序體系結(jié)構(gòu)。該顯示器體系結(jié)構(gòu)是對 Windows XP 顯示器體系結(jié)構(gòu)的革新,在支持新的方案、圖形和應(yīng)用程序的同時,為用戶提供了性能更佳、可靠性更高的桌面體驗。
WDDM 還提供了可與通常的消費電子設(shè)備相媲美的視頻內(nèi)容播放功能。它通過簡化與外部監(jiān)視器的連接、提供受保護 HD 視頻的播放以及提高總體視頻播放質(zhì)量來實現(xiàn)這一優(yōu)勢。圖形處理單元 (GPU) 的多任務(wù)處理在 Windows 中第一次成為可能,使用戶能夠同時運行多個 GPU 密集型應(yīng)用程序。
最后,WDDM 通過為開發(fā)人員簡化通用的 GPU 編程模型來改進(jìn) PC 游戲體驗,通過保持硬件功能的一致性,得到將超越甚至是最新控制臺的 PC 游戲體驗。
該新顯示器驅(qū)動程序模型是構(gòu)成新桌面體驗的一個極其重要的因素,因此擁有一塊支持 WDDM 的 GPU 對于 Windows 的“Premium Ready”市場標(biāo)志而言是必需的,并且其將可應(yīng)用于未來的 Windows 徽標(biāo)方案。
簡介
GPU 性能改進(jìn)的速度已經(jīng)大幅超過了摩爾定律。專家稱 GPU 一直以來以“摩爾立方定律”的速度在更新,這樣的速度約等于圖形處理能力每年翻一番。到目前為止,這種巨大的圖形處理能力主要被用于視頻游戲、豐富的多媒體套件(如視頻剪輯、特效應(yīng)用等),還用于如計算機輔助設(shè)計這樣的高端技術(shù)應(yīng)用程序。因此,即使每臺 PC 實際上都有一塊這樣的 GPU,但該 GPU 的能力也很少會用于日常事務(wù)中,從而導(dǎo)致 GPU 在 PC 設(shè)計流程中的優(yōu)先級并非最高。
Windows Vista 利用 GPU 的能力絕不僅限于游戲。起初,Windows Vista 依靠 GPU 為所有客戶提供更好的日??傮w桌面體驗。Windows 視頻播放架構(gòu)依靠 WDDM 傳送高清晰度 (HD) 視頻播放,使視頻播放達(dá)到與最新的消費電子設(shè)備相同的級別。此外,還有許多關(guān)鍵的應(yīng)用程序也在利用 GPU,如新的 Windows Photo 。正是由于 WDDM,才實現(xiàn)了這種操作系統(tǒng)和多個應(yīng)用程序同時在更大范圍的使用 GPU。
本文探討了 WDDM 的常規(guī)優(yōu)點和特殊優(yōu)點,包括:
WDDM 的總體優(yōu)點
桌面窗口管理器 (DWM)
視頻改進(jìn),包括受保護的視頻播放 (PVP)
部署
移動性和電源
新的圖形 API
WDDM 的總體優(yōu)點
穩(wěn)定性
在 Windows XP 中,顯示器驅(qū)動程序既龐大又復(fù)雜,它可能是系統(tǒng)不穩(wěn)定的主要原因。這些驅(qū)動程序完全在內(nèi)核模式(即,在系統(tǒng)代碼深處)下執(zhí)行,因此驅(qū)動程序中的一個問題往往會迫使整個系統(tǒng)重新啟動。根據(jù)在 Windows XP 使用期間收集到的失效分析數(shù)據(jù),有高達(dá) 20% 籃屏是顯示器驅(qū)動程序所造成的。因此,Windows Vista 的一個主要目標(biāo)就成了減少這樣的失效并為客戶提供可靠性更高的桌面體驗,同時還能降低合作伙伴的支持成本。如今,可靠性甚至更為重要,因為有一些主流功能要求圖形管道必須晝夜不停地高效執(zhí)行。新的桌面窗口管理器(它可繪制屏幕上的窗口)就是這種功能的一個示例。穩(wěn)定桌面體驗與沒有重繪錯誤的好處,無疑會為所有客戶而不僅僅是游戲者能體驗到。
WDDM 顯示器驅(qū)動程序在技術(shù)水平上有兩個組件:一個非常先進(jìn)的內(nèi)核模式驅(qū)動程序 (KMD) 和一個執(zhí)行大部分密集計算的用戶模式驅(qū)動程序。有了此模型,已將代碼的大部分移出了內(nèi)核模式。就是說,內(nèi)核模式部分如今只負(fù)責(zé)更低級的功能,而用戶模式部分則承擔(dān)了更繁重的功能,如在保持應(yīng)用程序兼容性的同時促進(jìn)從高級 API 結(jié)構(gòu)向直接 GPU 命令的轉(zhuǎn)換。這極大地減少了出現(xiàn)致命藍(lán)屏的機會,并且使得大多數(shù)圖形驅(qū)動程序相關(guān)的問題在最糟的情況下也僅能影響一個應(yīng)用程序。
WDDM 還針對顯示器驅(qū)動程序掛起的情形提供了容錯措施。這樣便使 Windows Vista 能夠在檢測到系統(tǒng)掛起后再次重啟顯示器驅(qū)動程序,而無需重啟系統(tǒng)。
另外,通過消除需要加入代碼以支持多年來引入的各種設(shè)備驅(qū)動程序接口,Windows Vista 中的顯示器驅(qū)動程序得到了極大的簡化。這樣,Windows Vista 實現(xiàn)了僅一個接口,并能確保所有舊驅(qū)動程序可以被識別且功能最優(yōu)化。
性能
在某個應(yīng)用程序需要啟動 GPU 時,控制權(quán)會從當(dāng)前正在使用 GPU 的任何應(yīng)用程序中奪走。發(fā)生這種情況是因為不能在多個應(yīng)用程序之間同時共享 GPU。在 Windows Vista 中,GPU 可用于許多常見的活動,如基本的窗口管理和視頻呈現(xiàn)。此外,利用 Windows Foundation(.NET Framework 3.0 開發(fā)平臺的部件),開發(fā)人員可借助新的 API 來輕松地使用 GPU,為非游戲應(yīng)用程序提供豐富的友好用戶界面。因為所有這些應(yīng)用程序和功能均依賴于 GPU,因此 GPU 多任務(wù)處理是關(guān)鍵。
WDDM 通過實現(xiàn)以下功能使多個應(yīng)用程序能夠同時使用 GPU:
GPU 內(nèi)存管理器 - 調(diào)整視頻內(nèi)存分配
GPU 計劃程序 - 根據(jù)優(yōu)先級來計劃各種 GPU 應(yīng)用程序
利用這些技術(shù),在應(yīng)用程序需要啟動其服務(wù)時,當(dāng)前的應(yīng)用程序就不必再放棄 GPU。相反,會以一種更有效的方式來計劃 GPU。
安全性
在支持多任務(wù)處理的平臺上,安全性總是主要受到關(guān)注的內(nèi)容。安全的操作系統(tǒng)需要確保由一個應(yīng)用程序所使用的資源與另一應(yīng)用程序相隔離。應(yīng)用程序的隔離是受保護 HD 內(nèi)容播放的需要。
WDDM 通過內(nèi)置 GPU 內(nèi)存管理器和計劃程序的安全模型來提供這種必需的隔離。當(dāng)前的 Windows XP 顯示器驅(qū)動程序沒有這樣的工具,因此在可以播放的 HD 內(nèi)容類型方面受到限制。
桌面窗口管理器
桌面窗口管理器 (DWM) 是 Windows Vista 中的技術(shù),用于控制桌面上窗口的顯示和更新。為消除繪制痕跡(這在 Windows 的早期版本上很明顯,因為應(yīng)用程序直接異步繪制到屏幕),在將內(nèi)容繪制到用戶的顯示器之前,DWM 在屏后或屏外的緩沖區(qū)中合成屏幕上的內(nèi)容,比如應(yīng)用程序窗口。DWM 實際上是 Direct3D 應(yīng)用程序,在計算機開啟的那一刻就會將其激活。因此,WDDM 的核心功能(如共享 GPU 資源和處理進(jìn)程的能力)在這種情形下就變得很重要。對于 Windows Vista,有兩個領(lǐng)域的投入與 DWM 相關(guān):總體的質(zhì)量改進(jìn)和極富感染力的用戶體驗。在實現(xiàn)所有這些高級功能的過程中,WDDM 起到了關(guān)鍵的作用,我們將在下文了解到這一點。在 DWM 上層所構(gòu)建的是 Windows Vista 特征終端用戶體驗,Windows 。
質(zhì)量
在 Windows XP 中,應(yīng)用程序會根據(jù)操作系統(tǒng)的請求直接更新它們的窗口。應(yīng)用程序?qū)⒏鶕?jù)監(jiān)視器的刷新率或當(dāng)前正在運行的任何更新來異步執(zhí)行這些請求。這些請求的結(jié)果是用戶看見窗口錯誤地或緩慢地撕開并重繪。DWM 樣式的窗口顯示消除了撕開的痕跡,提供了高質(zhì)量的桌面體驗。系統(tǒng)響應(yīng)速度更快,體驗也更加干凈利落,這讓終端用戶受益匪淺。
Windows
DWM 還使得人們能感受到新的 Windows 用戶體驗。Aero 是 Windows Vista 的設(shè)計最佳和性能最好的桌面體驗。它需要一臺配有合適圖形配置的 PC,該配置需要包含對 WDDM 的支持;還必須配備好 PC 以使用 Windows Vista Ultimate、Windows Vista 、Windows Vista Business 或 Windows Vista Home Premium 等產(chǎn)品版本。DWM 提供了很多功能,可使終端用戶以方便、直接的方式來搜索和訪問他們桌面上的窗口。這些功能要求能夠在應(yīng)用程序和 DWM 之間共享圖形內(nèi)存,而這一點就是通過 WDDM 來實現(xiàn)。其他功能,如 Windows 和 Windows 3D,可允許您放心地管理桌面上的窗口,幫助您通過有視覺沖擊力且方便方式來查看這些窗口。有關(guān)具體的硬件需求,請參閱 Windows Vista 升級顧問試用版;要檢查兼容性,請參閱 Windows Vista Capable 和 Premium Ready PC。
DWM 使得 Windows Aero 體驗?zāi)軌蛱峁┮韵陆K端用戶功能:
已打開和最小化應(yīng)用程序的生動的任務(wù)欄縮略圖。
Windows (Alt + Tab) 和 Windows Flip 3D(Windows 鍵 + Tab)- 兩種視覺沖擊力極強的新方式,用于管理打開的應(yīng)用程序窗口。
DPI 縮放 - 支持更高的 DPI 屏幕,因此無論監(jiān)視器分辨率如何,總能可靠地顯示文本。
由于視頻播放取決于驅(qū)動程序體系結(jié)構(gòu),Windows Vista 通過其升級的驅(qū)動程序模型能夠提供許多視頻播放方面的改進(jìn)。通過使用 Windows Vista 和支持 WDDM 的 GPU,用戶在更新圖形驅(qū)動程序后再無需進(jìn)行重啟。移動性和電源功能對于 Windows Vista 中依賴于 WDDM 的可移動的全新移動性功能也從很多方面受益于 WDDM。
視覺刷新
Windows Aero 體驗的一個令人注目的新看點是其擁有專業(yè)的外觀,采用透明的玻璃設(shè)計,具有類似動態(tài)反射和流暢動畫等精妙的效果。視覺元素(如玻璃效果)依賴于 Direct3D 像素陰影著色器管道和通過 WDDM 實現(xiàn)的 GPU 虛擬化。但是,除新的圖形和視覺效果改進(jìn)之外,Windows Aero 桌面體驗執(zhí)行起來也如同其外觀一樣流暢和專業(yè),為用戶提供了簡單而高質(zhì)的體驗。
視頻改進(jìn)
Windows Vista 的目標(biāo)之一是使視頻播放質(zhì)量與人們對主流消費電子設(shè)備所期望的質(zhì)量相媲美。由于視頻播放取決于驅(qū)動程序體系結(jié)構(gòu),Windows Vista 通過其升級的驅(qū)動程序模型能夠提供許多視頻播放方面的改進(jìn)。
輕松的電視輸出支持
如今,將 PC 連接到電視對于普通消費者而言還有些困難。未經(jīng)擴展配置而僅在電視中插入將不起作用,這一點不同于消費電子設(shè)備。此類安裝通常需要附加的監(jiān)視器和第三方產(chǎn)品。WDDM 解決了電視或監(jiān)視器與 PC 間的連接問題,賦予用戶即插即用的便利。
改進(jìn)的視頻播放質(zhì)量
如果與消費電子設(shè)備相比,在當(dāng)前操作系統(tǒng)上的視頻播放存在質(zhì)量問題,如視頻假信號過多以及色彩保真度不良。WDDM 提供了大量的功能以減輕這些問題。
首先,WDDM 使得 Windows Vista 和運行中的應(yīng)用程序能夠?qū)⒃?GPU 上呈現(xiàn)的幀排隊。其次,與排隊功能密切配合的是一種回饋機制,確定在何時呈現(xiàn)幀。這兩種功能一起通過不斷維持音頻和視頻顯示之間的同步,充分改善視頻播放并減少視頻假信號,可極大地改進(jìn)視頻播放的質(zhì)量。
最后,WDDM 還通過 Direct3D9x 和 Direct3D10 API 提供了對更佳色彩 (gamma) 修正的支持,反過來也要求 GPU 支持這些 API。
高清晰度視頻播放
正如在前文安全性部分所述,WDDM 提供了安全播放高清晰度視頻內(nèi)容的支持,這是許多內(nèi)容提供程序的一項要求。
部署
主要讓 Windows 終端用戶不甚愉快的是:軟件更新需要強制系統(tǒng)通過重啟來完成。之前的圖形驅(qū)動程序要求在更新后系統(tǒng)重啟。通過使用 Windows Vista 和支持 WDDM 的 GPU,用戶在更新圖形驅(qū)動程序后再無需進(jìn)行重啟。
移動性和電源功能
對于 Windows Vista 中依賴于 WDDM 的可移動的全新“移動性”功能也從很多方面受益于 WDDM。
顯示器和投影儀的熱插拔檢測
事實證明,使用 Windows XP 將便攜式計算機連接到投影儀是一個多步驟過程,而每個步驟又會因為便攜式計算機供應(yīng)商的不同而大相徑庭。在 Windows Vista 中,這一連接到外部顯示器或投影儀的過程得到了極大地簡化。當(dāng)附加的外部顯示器或投影儀連接到顯示適配器后,WDDM 將立即檢測到這一新狀態(tài)并自動通知 Transient Mobility Manager (TMM) 模塊,該模塊是新的 Windows Vista 外部顯示器向?qū)У牡讓蛹夹g(shù)。該向?qū)Ш喕藢⒆烂鏀U展或復(fù)制到第二臺顯示設(shè)備的過程。
“混合”休眠
Windows Vista 高級“休眠”狀態(tài)將“待機”功能的快速切換與“休眠”功能的可靠性有機結(jié)合到一起。在 Windows XP 中,“休眠”將促成將系統(tǒng)內(nèi)存上的內(nèi)容保存到硬盤中,同時使系統(tǒng)斷電;“待機”將使用少量電源保留內(nèi)存內(nèi)容,而使系統(tǒng)的其余部分?jǐn)嚯姟?
不過,在 Windows Vista 中,“混合”休眠將促成將系統(tǒng)內(nèi)存內(nèi)容保存到硬盤上,同時系統(tǒng)隨即進(jìn)入“待機”狀態(tài)。因此,系統(tǒng)能以極快的速度從系統(tǒng)內(nèi)存重新開始(對于具有 Windows Premium 功能的 PC,這一過程不超過 2 秒)。不過,如果由于電量完全耗盡或斷電導(dǎo)致系統(tǒng)內(nèi)存內(nèi)容丟失,系統(tǒng)仍可從硬盤重新開始。
注意 “混合休眠”要求 WDDM。
新的圖形 API
WDDM 實現(xiàn)了功能更強的圖形資源管理。此功能對于可供開發(fā)人員使用的 Direct3D9x 和 Direct3D10 API 的正常運行至關(guān)重要。
Windows Foundation
Windows Foundation 是下一代 Windows 客戶端開發(fā)平臺,用于用戶界面、文檔、圖形、基于桌面的應(yīng)用程序和所連接的應(yīng)用程序,以及內(nèi)容的開發(fā)。使得開發(fā)人員能夠在更廣的范圍內(nèi)利用 GPU 的強大功能,而無需了解低層的圖形編程結(jié)構(gòu)?,F(xiàn)在,設(shè)計人員和開發(fā)人員可以更加輕松地構(gòu)建為客戶帶來更加豐富和更具吸引力的用戶界面和內(nèi)容。其結(jié)果是,不久我們將會看到新一代應(yīng)用程序(本地以及基于 Web 的應(yīng)用程序),它們將提供更具吸引力的體驗、更佳的數(shù)據(jù)可視化以及更完善的閱讀體驗。
在提供了用于 Windows XP SP2 和 Server 2003 版本的 Windows Presentation Foundation 的同時,在 Windows Vista 上,Windows Presentation Foundation 受益于 WDDM 的可伸縮性,它可以更加可靠地同時運行多個 WPF 應(yīng)用程序。
游戲方面類似控制臺的簡易性
Direct3D10 是新的 Direct3D API,其實現(xiàn)了下一代 3-D 圖形和復(fù)雜的平行計算。該 API 依賴 WDDM 的資源管理功能提供了一些極富表現(xiàn)力的功能。Direct3D10 API 的主要好處有以下方面:
通用的 GPU 編程模型 通過取消了對 GPU 編程的一些限制(部分是通過 WDDM 資源管理實現(xiàn)),實現(xiàn)了功能更為強大的 GPU 編程模型,該模型可用于下一代 3-D 圖形以及那些能夠從高度平行處理(如,圖像處理)中受益的更通用的用途。
硬件功能的一致性 如同在控制臺中,所有具有 Direct3D10 功能的硬件對開發(fā)人員而言是一樣的。換言之,不存在區(qū)分運行 D3D9.x 的硬件配置之間差別的功能位。這樣便更加簡化了軟件的實現(xiàn)。
視覺效果 如“幾何著色器”和“流出”這樣的功能有助于開發(fā)人員創(chuàng)建更加生動、逼真的圖形,這已經(jīng)超出了下一代控制臺所能提供的圖形。
更佳的系統(tǒng)性能 實現(xiàn)了更佳的性能,因為可以應(yīng) CPU 的請求一致卸載進(jìn)程。